作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/07 17:12:12
已知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.
你的理解是正确的,
x++&&--y&&z--||--x;是个逻辑表达式,从左往右执行.
先x++,逻辑值为-1(非零),执行后x=0;因为非零,所以要执行后面的--y,执行后,逻辑值非零,y=-2;因为x++&&--y逻辑值非零,所以还要往后执行z--,执行后,逻辑值非零,z=-2,;这时,后面是或运算,逻辑值已为真(非零),所以不执行后面的--x了,
所以结果为:x=0 y=-2 z=-2