int x,y,z;x=y=z=-1;++x&&++y||++z x y z的值是多少?如何运行的?

如题所述

int
x,y,z;x=y=z=-1;++x&&++y||++z的运行过程是这样的:
++x时,先取x的值自增后为0(为假)。由于运算符为&&(逻辑与)所以后面的++y已经不需要做了。
又由于后面的运算符为||,所以还需检测后面的值。于是做++z的检测。z先自增,变为0(为假)。参与“逻辑或”的两个值都是假,所以,整个表达式的值为假。
又由于x和z两个变量的值参与了检测,自增为0,而y没有检测,值仍为-1。
上面的分析可以用一个简单程序加以验证:
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答