#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貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
&& 運(yùn)算符會(huì)先求左側(cè)操作數(shù)的值,只要左側(cè)的值為 0 就不再求右側(cè)操作數(shù)的值,整個(gè) && 表達(dá)式的值直接為 0。
你這里 --x 表達(dá)式的值為 0,所以這個(gè) && 表達(dá)式求值結(jié)束。而右操作數(shù)(--y||--z)則根本不會(huì)被求值。
這樣 y 和 z 的值都不會(huì)變化,只有 x 會(huì)自減。
添加回答
舉報(bào)
0/150
提交
取消