本單元常犯錯誤總覽
| # | 錯誤描述 | 錯誤類型 | ✗ 錯誤寫法 | ✓ 正確寫法 |
|---|---|---|---|---|
| 1 | 索引超出範圍 | UB(RE 或邏輯錯誤) | int a[5]; cout << a[5]; |
cout << a[4]; |
| 2 | 用變數做陣列大小 | 編譯錯誤 | int n; cin >> n; int a[n]; |
const int MAX_N = 100005; int a[MAX_N]; |
| 3 | 區域陣列未初始化就使用 | UB(垃圾值) | int a[10]; cout << a[0]; |
int a[10] = {}; |
| 4 | 1-base 存法沒多開一格 | UB(越界) | int a[100]; 卻存取 a[100] |
開 n + 1 格以上:int a[105]; |