程序崩溃并出现以下错误:
p.exe 中 0x00821CC9 处未处理的异常:0xC00000FD:堆栈溢出(参数:0x00000000、0x006E2000)
为什么会这样?
程序代码:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
long long v[1901][2015];
long long p[1901][2015];
long long i, j, k = 1, n = 0;
for (i = 0; i < 1901; ++i)
for (j = 0; j < 2015; ++j)
{
p[i][j] = k;
++k;
}
k = 1;
for (i = 0; i < 2015; ++i)
for (j = 0; j < 1901; ++j)
{
v[j][i] = k;
++k;
}
for (i = 0; i < 1901; ++i)
for (j = 0; j < 2015; ++j)
if (v[i][j] == p[i][j])
++n;
cout << n;
system("pause");
return 0;
}
您的问题总体上很清楚,没有细节,但是下次可以随意写更多。
您的数组对于该函数来说太大了。函数内部只有一定数量的内存可用,如果您需要更多内存,则会出现错误 - 堆栈溢出,这实际上已经发生了。将这些数组带入全局范围。
PS我不建议写
using namespace std;,std::写大项目的时候写的好,他们会有很多命名空间,你会明白这样更方便。