#include<stdio.h>void main(){ int x=1,y=1,z=1; --x&&(--y||--z); printf("%d%d%d",x,y,z);}
1 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
&& 运算符会先求左侧操作数的值,只要左侧的值为 0 就不再求右侧操作数的值,整个 && 表达式的值直接为 0。
你这里 --x 表达式的值为 0,所以这个 && 表达式求值结束。而右操作数(--y||--z)则根本不会被求值。
这样 y 和 z 的值都不会变化,只有 x 会自减。
添加回答
举报
0/150
提交
取消