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