下列以 C 語言撰寫的程式執行後產生的輸出為何? void increment( int i) { i++; } int main() { int i; for(i = 0; i < 10; increment(i)) {} printf("i=%d\n", i); return 0; }
A輸出為:i=9
B輸出為:i=10
C此程式無法編譯
D此程式會進入無窮迴圈正確答案
答案與詳解
increment(i) 只把副本加 1,main 中的 i 永遠是 0,條件 i<10 永遠成立,程式陷入無窮迴圈。
