不对,m==n如果为真返回值为1,然后变成1==s[0];判断与目的不符,错 分析总结。 c语言中能不能用连等来进行判断结果一 题目 C语言中能不能用连等来进行判断?if(m==n==s[0]==s[1]==s[2]==s[3]==s[4]==t[0]==t[1]==t[2]==t[3]==t[4])这句话正确吗? 答案 不...
能。a=b=14的意思是将14赋给a和b,最后a和b都等于14,并不是判断a和b是否与14都相等。
没有。a = b = c 在 C 中可以写成 a = b; b = c
你上面说的写法是可以的!但是如果写成这样旧错了 int a=b=c=d=1;C语言中不允许出现这样的连等式!但先定义然后再再连等式可以的
可以的,C语言中赋值表达式的返回值会向左传递。也就是说a=2这个表达式的值为2。这时如果if(2==(a=2))那么if的值为真。也就是说a=b=c=3是合法的。但是a=b+2=9是不行的,因为9的值不能赋给2,它是个常量。赋值运算符右侧的值由表达式生成,而表达式则由文本、常数、变量、属性、数组...
这是由于“短路”效应造成的,等效于a == b || b == 1,显然与你的目的不符,所以说,要判断a和b是否同时为1,不能写成if (a == b == 1),而只能写作if((a == b) && (b == 1)),或if((a == 1) && (b == 1)),或if((1 == a) && (1 == b))等。
也就是等式从右往左计算),所以a=b=c 等同于 a=(b=c),故a=4,b=4;第二题:优先级 : 关系运算符>"?:">赋值运算符,故a=b>=c?d:b 等价雨 a= ( (b>=c)?d:b );所以 a=2,b=2;关于运算符的优先级可以参考 http://baike.baidu.com/view/262524.html ...
先看3<i 如果i比3大 就变成 1<1 返回false 如果i比3小 就变成 0<1 返回true
a=b=c;就是b=c; 然后a=b; 实际上 就是把a和b都赋值为c的值.p=q=NULL;和这个类似, 就是把p和q都置成空指针.