【发布时间】:2020-12-08 15:01:32
【问题描述】:
我有这个代码:
#include <iostream>
#include <iomanip>
using namespace std;
main()
{
int i, n, a[n], b[n], c[n];
cout << "Program kreira nizove po matematickoj zavisnosti" << endl;
cout << "Unesite vrednost n =" << endl;
cin >> n;
for (i = 0; i <=n; i++)
{
a[i] = (i+1)*2;
if (i%2==0) b[i] = 2*i;
else b[i] = -2*i;
c[i] = a[i] - b[i];
}
cout << "A" << setw(3) << "B" << setw(3) << "C" << endl;
cout << a[i] << setw(3) << b[i] << setw(3) << c[i] << endl;
}
它显示“进程返回 -1073741571 (0xC00000FD)” 找不到什么问题。 当我尝试其他代码时,它可以工作。 平台是 Win 10。
【问题讨论】:
-
0xC00000FD表示堆栈溢出! -
n在将其用作数组的大小之前未初始化。 -
int i, n, a[n], b[n], c[n];分配这些非标准数组时n的值是多少?请注意,虽然c支持 VLA,但官方c++不支持:https://stackoverflow.com/questions/1887097/why-arent-variable-length-arrays-part-of-the-c-standard
标签: c++