免費開始練習
地特四等 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) 的理解。你還沒被淘汰,證明你暫時擁有一點點『利己』的直覺。

▼ 還有更多解析內容

🏷️ 相關主題

程式語言基礎、資料結構與演算法
查看更多「[資訊處理] 計算機概要」的主題分類考古題