Examly題庫立即開始練習
共 2 類科共用卷
普考-電子工程普考-電信工程
計算機概要104 年第 36 題單選題考點:迴圈終值考點:傳值vs傳址

下列以 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此程式會進入無窮迴圈正確答案
答案與詳解
D
正確答案
C 語言參數傳遞是 call by value,increment(i) 只改動本地副本,主程式 i 永遠是 0,造成無窮迴圈。

逐選項解析

A輸出為:i=9迴圈終值✕ 錯誤
若真能跳出迴圈會是 10 而非 9,且本題根本無法跳出迴圈,故錯誤。
B輸出為:i=10傳值vs傳址✕ 易錯陷阱
這是陷阱!若 increment 是用指標 (int *i) 傳址,答案才會是 10。但本題是值傳遞,i 永遠不變。
C此程式無法編譯✕ 錯誤
D此程式會進入無窮迴圈✓ 正確

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

計算機概要 相關題目

想練更多計算機概要考古題?

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

Examly