Examly題庫立即開始練習
初考-統計資料處理大意11027單選題

給定下列一個 C 語言程式片段,其中 s 被宣告為全域變數(global variable ),此程式執行後的輸出結果為何?int s = 1; //全域變數 void add (int a){ int s = 6; for( ; a>=0; a=a-1){ printf("%d,", s); s++; printf("%d,", s); } } int main(){ printf("%d,", s); add(s); printf("%d,", s); s = 9; printf("%d", s); return 0; }

A1,6,7,7,8,8,9
B1,6,7,7,8,1,9正確答案
C1,6,7,8,9,9,9
D1,6,7,7,8,9,9
答案與詳解
B
正確答案
全域變數 s=1,函式內 local s=6 會遮蔽全域;函式結束後全域 s 仍為 1。

為什麼答案是 B

main 先印全域 s=1;呼叫 add(1):a=1 進入迴圈,印 6,7(s++後);a=0 再印 7,8;a=-1 結束。回 main 印全域 s=1;設 s=9 印 9。結果:1,6,7,7,8,1,9。

考點:變數作用域誤判考點:區域變數遮蔽全域考點:迴圈追蹤錯誤考點:全域/區域混淆
載入中…

資料處理大意 相關題目

想練更多資料處理大意考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Download on theApp Store即將推出Google Play
黑皮