普考申論題
114年
[資訊處理] 程式設計概要
第 四 題
給定下列程式,其中t被宣告為全域變數,請問程式執行後輸出為何?
(20分)
int t=10; //全域變數
void sum(int a) {
int t=20;
for(; a>=0; a=a-5) {
printf("%d,", t);
t=t+a;
printf("%d,", t);
}
}
int main () {
printf("%d,", t);
sum(t);
printf("%d,", t);
t=15;
printf("%d", t);
return 0; }
📝 此題為申論題
思路引導 VIP
本題解題關鍵在於辨別「全域變數」與「區域變數」的作用域(Scope),以及變數遮蔽(Shadowing)效應。考生應將 main 函式與 sum 函式的變數狀態分開紀錄,並逐圈追蹤 for 迴圈內變數 a 與 t 的數值變化與輸出結果。
🤖
AI 詳解
AI 專屬家教
【解題思路】本題考查變數作用域(全域變數與區域變數的遮蔽效應)以及迴圈追蹤。需注意 sum 函式內的 t 為區域變數,不會影響 main 函式中的全域變數 t。
【詳解】
已知全域變數初始為 t = 10。
▼ 還有更多解析內容