地特四等
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) 的理解。你還沒被淘汰,證明你暫時擁有一點點『利己』的直覺。
▼ 還有更多解析內容