由于某些未知原因,这个简单的代码运行,执行它预期要做的事情,然后崩溃运行。我正在使用NetBeans IDE,它之前与我的数组重叠(往往是错误的),所以我想知道是否有人得到相同的错误 - 这意味着我当然必须改变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;
};
答案 0 :(得分:3)
这里你要删除一个包含4个索引的数组。在c / c ++中,索引号从0开始。 在您的代码中,您说:
int first[4][4];
表示索引为:0 1 2 3.Array length或total index为4。 但是在for循环中你说的是
for (int a = 0; a < 5; a++) {
....
}
所以你试图分别访问索引号0 1 2 3 4.但是请记住你没有索引号4.这就是为什么它应该给出数组索引超出范围的错误。
同样在main函数结束时,您使用的是分号。删除
main () {
....
};
希望这可以解决问题。从下一次请尝试提供有关您的IDE提供给您的错误的详细信息,因为对于给予回答的人来说会更容易。