執行下列 C 語言程式後,產生的輸出為何? #include <stdio.h> main(){ int a=0, b=0; if((a=1)>b || (b=2)>a){ a+=10; b+=10; } printf("%d, %d\n", a, b); }
A11, 12正確答案
B11, 10正確答案
C1, 2
D1, 0
答案與詳解
此題預設兩個賦值皆執行:a=1、b=2,條件為真進入區塊後 a+=10 得 11,b+=10 得 12。考選部公告答案為 A,顯示本題未考慮短路求值。
