本單元常犯錯誤總覽
| # | 錯誤描述 | 錯誤類型 | ✗ 錯誤寫法 | ✓ 正確寫法 |
|---|---|---|---|---|
| 1 | 索引超出範圍 | Runtime Error | int a[5]; cout << a[5]; |
cout << a[4]; |
| 2 | 用變數做陣列大小 | 編譯錯誤 | int n; int a[n]; |
const int n = 5; int a[n]; |
| 3 | 區域陣列未初始化 | 邏輯錯誤 | int a[10]; cout << a[0]; |
int a[10] = {}; |
| 4 | 陣列開太小 | Runtime Error | int a[100]; for (i<10000) a[i] |
const int MAX = 10005; int a[MAX]; |
| 5 | 搞混二維陣列的行列 | 邏輯錯誤 | a[col][row] |
a[row][col] |
| 6 | const 變數未初始化 | 編譯錯誤 | const int N; |
const int N = 100; |
| 7 | 大陣列初始化過大 | 編譯警告/超時 | int a[10^6] = {1}; |
int a[10^6]; 後宣告迴圈初始化 |