简单的for循环完成并失败运行

simple for loop finishes and fails the run

本文关键字:失败 运行 for 循环 简单      更新时间:2023-10-16

由于某种未知的原因,这段简单的代码运行了,做了预期的事情,然后崩溃了。我正在使用NetBeans IDE,它在之前重叠了我的数组(往往有bug),所以我想知道是否有人得到同样的错误-这意味着我肯定要改变IDE环境。

#include <iostream>
using namespace std;
int main ()
{
int first[4][4];
for (int a = 0; a < 5; a++)
{
    for (int b = 0; b < 5;b++)
    {
        cout << a << " " << b << " ";
        if (first [a][b] != 0)
        {    
            first[a][b] = 0;
        }
        cout << first[a][b] << "    ";
    }
    cout << endl << endl << endl;
}

return 0;
};

在这里你声明了一个有4个索引的数组。在c/c++中,索引号从0开始。在你的代码中,你说:

int first[4][4]; 

表示索引为:0 1 2 3。数组长度或总索引为4。但是在for循环中你说的是

for (int a = 0; a < 5; a++) {
....
}

,所以你试图访问索引号0 1 2 3 4分别。但是记住你没有索引4。这就是为什么它应该给出数组索引超出边界错误。

同样在main函数的末尾使用分号。删除

main () {
....
};

希望这能解决问题。从下次开始,请尽量提供有关您的IDE给您的错误的详细信息,因为它将更容易给答案的人。