教教我与运算啊

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:35:19
int a=1,b=2,c=1,d=1,e=1,f=1;

f=(a=2)&&(b=0)&&(c=0)&&(d=0)&&(e=0);

printf("%d,%d,%d,%d,%d,%d",a,b,c,d,e,f);
a=2b=0c=1d=1e=1f=o
怎么算出来的啊!!

呵呵,这个简单啊
f=(a=2)&&(b=0)&&(c=0)&&(d=0)&&(e=0);
首先&&与运算是这样的,如果能确定结果就不会运行后面的。
(a=2)这是赋值运算,所以a=2
(b=0)也是赋值运算,所以b=0
这样,(a=2)&&(b=0)就是2&&0,结果当然是0,所以f=0
因为不管后面是什么值结果已经定了,所以后面的不会执行。
c,d,e 都是原来的值。
明白没