本單元常犯錯誤總覽
¶編譯錯誤 (CE)
| 錯誤 | 原因 | 修正 |
|---|---|---|
error: 'x' was not declared |
使用未宣告的變數 | 先宣告 int x; |
error: 'if' cannot be used as identifier |
用關鍵字當變數名 | 改成 if_flag 等 |
error: expected ';' |
漏了分號 | 在陳述式末加 ; |
¶執行錯誤 (RE)
| 錯誤 | 原因 | 修正 |
|---|---|---|
| 除以零導致崩潰 | a / 0 |
檢查 if (b != 0) |
| 垃圾值輸出 | 使用未初始化的局部變數 | 宣告時初始化:int x = 0; |
¶邏輯錯誤 (WA)
| 錯誤 | 原因 | 修正 |
|---|---|---|
| 結果錯誤 | 整數溢位 | 用 long long 或先轉型 |
| 結果錯誤 | 忘了整數除法會捨去小數 | 認知 / 是整數除法(只取商),不是數學除法 |
| 結果錯誤 | 運算子優先級 | 用括號確保順序 |
| 指派左邊是運算式 | x + y = 10; |
改成 x = 10 - y; 等 |