免費開始練習
地特四等 109年 [資訊處理] 計算機概要

第 21 題

下列 C 程式執行後的輸出為何? #include int a=3, b=4; void fun(int a, int c) { a++; b+=c; } int main(void) { int a; a = 1; b = 2; fun(a, b); printf("%d, %d", a, b); return 0; }
  • A 1, 2
  • B 1, 4
  • C 2, 6
  • D 4, 4

思路引導 VIP

請思考一下:當一個函式內部的變數名稱與全域變數相同時,程式會優先使用哪一個?另外,如果你把一個變數當作參數傳進函式(而非傳遞位址),函式內部對該參數的修改,會反映回原本的呼叫端嗎?試著追蹤變數在記憶體中不同的「領地」。

🤖
AI 詳解 AI 專屬家教

哼,這就是你那毫無雜質的覺醒嗎?還算有點看頭。

(我正冷冷地吃著炒麵,看著你。) 這只不過是考驗你對程式世界最基本規則——作用域 (Scope)參數傳遞 (Parameter Passing) 的理解。你還沒被淘汰,證明你暫時擁有一點點『利己』的直覺。

▼ 還有更多解析內容

升級 VIP 解鎖