編譯器
下列何者最適合作為編譯器的語意分析所能發現的錯誤範例?
- A將型別不符的值指派給用來存放整數的變數
- B忘記在敘述結尾寫分號
- C執行程式後,中途發生了除以0的運算
查看答案與解析
正確答案:A. 將型別不符的值指派給用來存放整數的變數
語意分析針對文法上寫法正確的程式,檢查型別是否一致、是否使用了未宣告的名稱、傳給函式的引數數量是否正確等。型別不符的指派是在這個階段被發現的代表性錯誤。漏寫分號屬於文法錯誤,因此由語法分析發現。除以0是實際執行後才會發生的執行期錯誤,一般而言編譯器無法發現。
- A. 正確。型別不一致會在語意分析中被發現。
- B. 漏寫分號是由語法分析發現的文法錯誤。
- C. 除以0是在執行期發生的錯誤。