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

2025-03-20 06:13:12
推荐回答(1个)
回答1:

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