看板 Examination 關於我們 聯絡資訊
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://www.ptt.cc/bbs/Examination/M.1501161102.A.AFE.html
manlike: 因為後if ||前面是true後面就不會再執行的了 07/27 21:14
manlike: shortcut logical operator 07/27 21:15
AMG6000: 捷徑運算 後面不執行 07/27 21:15
dealdream: 哦喔 原來如此!! 只要有一個是true,後面不管接幾個都 07/27 21:18
dealdream: 不會執行嗎? 07/27 21:18
dealdream: 多謝m大,A大 ! 07/27 21:18
pt7441: 捷徑運算 07/27 22:31
jachin: 注意c,C++,Java都是捷徑運算,但Ada預設and, or都是完全 07/27 23:25
jachin: 運算 07/27 23:25
dealdream: yes,sir ! 07/27 23:50
williamsm: 你可以比較一下 || 跟&& 07/28 11:33