初級 › 配列のループが1つずれて範囲外を読む・最後の要素が抜ける › パターン5
配列のループが1つずれて範囲外を読む・最後の要素が抜ける
添字は0から要素数-1までという境界を1つ間違えると、最後の要素が抜けたり、配列の外を読んでしまったりします。
1 #include <stdio.h> 2 3 int main(void) { 4 int vals[3] = {100, 200, 300}; 5 int total = 0; 6 for (int i = 0; i < _; i++) { ^ 7 total += vals[i]; 8 } 9 printf("%d\n", total); 10 return 0; 11 }
出力: 300期待: 600
空欄を埋めてコンパイル・実行を通す
境界をi<2にすると最後の要素(300)が合計に含まれません。
次の問題