作者dealdream (夢想執行家)
看板Examination
標題[請益] C語言最後輸出請教...
時間Thu Jul 27 21:11:40 2017
int a=0 , b=0;
if( ((a=1)>b || ((b=2)>a))
{
a+=10;
b+=10;
}
printf("%d,%d",a,b);
答案: 11,10
既然a都11了,
為什麼b不會是12呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.236.212
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Examination/M.1501161102.A.AFE.html
1F:→ manlike: 因為後if ||前面是true後面就不會再執行的了 07/27 21:14
2F:→ manlike: shortcut logical operator 07/27 21:15
3F:→ AMG6000: 捷徑運算 後面不執行 07/27 21:15
4F:→ dealdream: 哦喔 原來如此!! 只要有一個是true,後面不管接幾個都 07/27 21:18
5F:→ dealdream: 不會執行嗎? 07/27 21:18
6F:→ dealdream: 多謝m大,A大 ! 07/27 21:18
7F:→ pt7441: 捷徑運算 07/27 22:31
8F:推 jachin: 注意c,C++,Java都是捷徑運算,但Ada預設and, or都是完全 07/27 23:25
9F:→ jachin: 運算 07/27 23:25
10F:→ dealdream: yes,sir ! 07/27 23:50
11F:推 williamsm: 你可以比較一下 || 跟&& 07/28 11:33