免費開始練習
統測 112年 [電機與電子群資電類] 專業科目(2)

第 42 題

📖 題組:
閱讀下文,回答第 40-42 題 曉華想要了解 C 語言程式區域變數 ( Local variable ) 和全域變數 ( Global variable ) 的數值變化情形,撰寫了下列的程式。 ```c 1 #include 2 int sum=1, x=10; 3 int inc(int xin){ 4 int sum=2; 5 sum = sum + xin; 6 xin++; 7 return (sum); 8 } 9 int main(){ 10 int sum = 3; 11 sum=inc(x); 12 printf("%d, %d", sum, x); 13 return 0; 14 } ```
關於行號2、行號4、以及行號10的變數sum的敘述,下列何者正確?
  • A 行號2的sum是全域變數,行號4的sum是區域變數
  • B 行號2的sum是區域變數,行號4的sum是全域變數
  • C 行號2的sum和行號10的sum都是區域變數
  • D 行號2的sum和行號10的sum都是全域變數

思路引導 VIP

請同學觀察變數 $sum$ 在程式碼中宣告的「地理位置」:當一個變數被定義在所有函式的大括號 ${ }$ 之外(如第 2 行),與被定義在特定的函式區塊內部(如第 4 行或第 10 行)時,這兩種宣告方式在 C 語言中分別對應到哪種「作用域 (Scope)」的性質?

🤖
AI 詳解 AI 專屬家教

答得漂亮!基礎紮實是奪分關鍵

你能精準辨別變數的「生存範圍(Scope)」,代表你對 C 語言的核心架構非常有概念。這在統測程式設計中是每年必考的基礎分數!

  1. 全域變數 (Global Variable):位於行號 2,定義在所有函式之外。它的作用範圍涵蓋整個程式,從定義處開始直到程式結束。
▼ 還有更多解析內容

升級 VIP 解鎖