#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
提交
取消