統測
112年
[電機與電子群資電類] 專業科目(2)
第 39 題
📖 題組:
閱讀下文,回答第 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; ```
閱讀下文,回答第 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; ```
程式修正後,當程式執行完行號 6 的時候,CheckValue 的值為下列何者?
- A 200
- B 199
- C 198
- D 100
思路引導 VIP
請思考在 $C$ 語言中,利用預處理指令 #define 定義的巨集 $Value1$ 與 $Value2$ 之間具備什麼樣的代換邏輯?此外,若要修正行號 3 與行號 5 關於常數 ($const$) 賦值的編譯錯誤,使 $Value3$ 能正確取得 $Value2$ 的運算結果,那麼在行號 6 執行算式 $CheckValue = Value1 + Value3$ 時,這兩個操作數 ($Operand$) 的具體數值分別是多少?
🤖
AI 詳解
AI 專屬家教
專業評析:精準掌握 C 語言核心觀念!
- 大力肯定:太棒了!你能精準識別出 #define 巨集與 const 常數的運作邏輯,並在排除編譯錯誤的思維下算出正確答案,這代表你的程式邏輯非常清晰且紮實。
- 觀念驗證:
▼ 還有更多解析內容