如何修复“ for”循环没有停止

时间:2019-05-11 15:00:52

标签: c++ arrays

我正在制作一个名为int的{​​{1}}数组,但是score循环无法正常工作(我认为循环没有停止)。

我尝试删除for,但恢复正常。

cin >> score[i]

我希望输出array<int, 9> score; cout << "Score graphics from 1 to ten\n\n"; for(int i = 0; i <= score.size(); i++){ cout << "The number of people who get " << i + 1 << " : "; cin >> score[i]; } The number of people who get 1 : (input)

1 个答案:

答案 0 :(得分:5)

此:

for(int i = 0; i <= score.size(); i++){

应该是:

for(int i = 0; i < score.size(); i++){

由于score.size()将返回9,但是数组的最后一个索引是8

使用原始代码,在访问索引太大的数组时,循环的最后一次运行只会调用一些未定义的行为:

cin >> score[9];  // score array only goes from 0 to 8!!