已知x,y,z均为int型变量. x=y=z=-1; x++&&--y&&z--||--x; printf("x=%d\

问题描述:

已知x,y,z均为int型变量. x=y=z=-1; x++&&--y&&z--||--x; printf("x=%d\t y=%d\t z=%d\n",x,y,z);_____
请问一下这个题目的解题思路,运算顺序..
在运算前一题的时候
x=y=z=-1;
++x&&++y&&++z;
printf("x=%d\t y=%d\t z=%d\n",x,y,z);
我是这样理解的应该&&左边的++x=0所以后面的不用再计算得出答案:0,-1,-1.
1个回答 分类:综合 2014-12-05

问题解答:

我来补答
你的理解是正确的,
x++&&--y&&z--||--x;是个逻辑表达式,从左往右执行.
先x++,逻辑值为-1(非零),执行后x=0;因为非零,所以要执行后面的--y,执行后,逻辑值非零,y=-2;因为x++&&--y逻辑值非零,所以还要往后执行z--,执行后,逻辑值非零,z=-2,;这时,后面是或运算,逻辑值已为真(非零),所以不执行后面的--x了,
所以结果为:x=0 y=-2 z=-2
 
 
展开全文阅读
剩余:2000
上一页:第9题老师
下一页:jst