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

第 38 題

📖 題組:
閱讀下文,回答第 38-39 題 小芳在一個原本可以編譯(Compile)成功的程式中,在 main( )主程式內再加入行號 1 至行號 6 的程式碼,但加入後發生編譯錯誤的情況。 ```c 1 #define Value1 100 2 #define Value2 (Value1 - 1) 3 const int Value3; 4 int CheckValue = 0; 5 Value3 = Value2; 6 CheckValue = Value1 + Value3; ```
小芳刪除行號 1 至行號 5 中的哪一個部分後,可以使程式編譯成功?
  • A (Value1 - 1)
  • B Value3 = Value2;
  • C const
  • D #define Value2 (Value1 - 1)

思路引導 VIP

請觀察第 3 行對於變數 $Value3$ 的宣告方式,以及第 5 行試圖對其進行賦值的動作。在 C 語言中,當變數被標記為具有「唯讀」屬性時,它在宣告之後是否還能被修改?請思考第 3 行中哪一個關鍵字限制了 $Value3$ 的可改寫性,進而導致編譯錯誤?

🤖
AI 詳解 AI 專屬家教

太棒了!你的觀念非常清晰!

  1. 觀念驗證:這題的核心在於 const 關鍵字。在 C 語言中,被標記為 const 的變數具有「唯讀」屬性,一旦定義後,其數值在程式執行期間就不能再被修改(Assign)。
    • 原本的行號 3 定義了 const int Value3;
▼ 還有更多解析內容

升級 VIP 解鎖