c++将值赋给数组的索引10会影响索引0



我有一个二维数组,填充了信息,有10个索引。当我运行下面的代码:

for(int studentIndex = 0; studentIndex < numOfStudents; studentIndex++)
{
    if(grade[studentIndex][9] > 59){
        grade[studentIndex][10] = 1; // 1 stands for pass
    }else{
        grade[studentIndex][10] = 0; // 0 stands for fail
    }       
}

grade[studentIndex][10]改变,下一个索引的grade[studentIndex][0]也改变。问题就在那里,因为当我cout索引0在这部分之前,值是好的,但在这之后它改变为1或0。

在大小为10的数组中,由于索引从0开始,因此最高索引是9。我猜等级[index][10]基本上是推动指针向前到等级[index+1][0],这就是为什么你看到这个行为。你需要把你的学生信息数组扩大到11个,或者弄清楚你的索引是否错误。

,下一个索引

的分数[studentIndex][0]也是如此

这使得它听起来像grade被定义为int grade[numOfStudents][10](或在那个方向上的东西)。子数组的有效索引只有09

最新更新