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。
上面的分析可以用一个简单程序加以验证:
x,y,z;x=y=z=-1;++x&&++y||++z的运行过程是这样的:
++x时,先取x的值自增后为0(为假)。由于运算符为&&(逻辑与)所以后面的++y已经不需要做了。
又由于后面的运算符为||,所以还需检测后面的值。于是做++z的检测。z先自增,变为0(为假)。参与“逻辑或”的两个值都是假,所以,整个表达式的值为假。
又由于x和z两个变量的值参与了检测,自增为0,而y没有检测,值仍为-1。
上面的分析可以用一个简单程序加以验证:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询