Examly題庫立即開始練習
共 2 類科共用卷
地方政府公務人員四等-電子工程類科地方政府公務人員四等-電信工程類科
計算機概要104 年第 24 題單選題考點:傳值陷阱考點:Pass by value

執行下列 C 語言程式後,產生的輸出為何? #include <stdio.h> void unknown(int a, int b) { int c; c=a; a = b ; b = c ; }; void main() { int x=2, list[]={1, 3, 5}; unknown(x, list[0]); unknown(list[0], list[1]); unknown(x, list[x]); printf("%d", x); }

A1
B2正確答案
C3
D5
答案與詳解
B
正確答案
C 語言傳值呼叫 (pass by value),函式內交換不影響外部變數,x 始終為 2。

逐選項解析

A1傳值陷阱✕ 易錯陷阱
若誤以為 unknown(x, list[0]) 交換後 x 變成 1,就會選 A。但 C 是傳值呼叫,函式內 a、b 只是副本,改動不影響外部 x。
B2Pass by value✓ 正確
x 初始為 2,三次呼叫 unknown 都是傳值,函式內的交換僅作用在區域變數 a、b,對外部 x 與 list 毫無影響,故輸出 2。
C3✕ 易錯陷阱
D5✕ 錯誤

立即註冊,看完整詳解

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

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

計算機概要 相關題目

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

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

Examly