#include <stdio.h>int main(){int a=0,b=0,c=0;if(a++>0&&b++>0)++c;printf("\na=%d,b=%d,c=%d",a,b,c);}
1 回答
已采納

fireup
TA貢獻8條經驗 獲得超31個贊
這叫做短路現(xiàn)象,&&的左右操作數(shù)都為真時才返回真,如果第一個操作數(shù)返回true,它會繼續(xù)判斷第二個操作數(shù),而如果第一個就返回false,那么無論第二個為true還是false,結果都是false,所以,C語言這個時候會偷懶,就不再判斷第二個了,所以b++不會執(zhí)行,另外,++在后,會先判斷,再執(zhí)行++運算
- 1 回答
- 0 關注
- 1405 瀏覽
添加回答
舉報
0/150
提交
取消