執行下列 C 程式後,產生的輸出為何?
#include <stdio.h>
int f (int *a) {
int i, t;
t = *a;
for( i=1; i<t; i++ ) {
*a += t;
}
return t;
}
main() {
int x =5, y =0;
y = f(&x);
printf(\"%d, %d\n\", x, y);
}
A5, 5
B5, 25
C25, 5正確答案
D25, 25
答案與詳解
C
正確答案
函式 f 以指標傳址修改 x 的值,t 保留原值 5 並回傳,x 經迴圈累加後變為 25,故輸出 25, 5。