C语言菜鸟 .。。。。

int x,y,z;
x=y=z=0;++x||++y||++z;
printf("x=%d y=%d z=%d\n",x,y,z);

为啥值为,x=1,y=1,z=0
z不等于1吗

y也应该等于0才对
对于逻辑或运算,如果有一个条件为真,那结果必然为真,剩下的条件就不必执行判断了
++x||++y||++z; //++x返回1,为真,整个表达式结果肯定为真,那么剩下的++y,++z就不需要判断了
最后结果应该是
x=1,y=0,z=0
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜