我在clion中得到一个奇怪的退出代码:
退出代码-1073741571(0xC00000FD)
这是我的代码:
int main()
{
std::cin.sync_with_stdio(false);
std::cin.tie(nullptr);
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int n = 0, i = 0, j = 0;
int arr[30007][5];
for (i = 1; i <= 30000; i++)
arr[0][i] = 1;
//...
return 0;
}
我测试了它,并由于以下原因找到了它:
int arr[30007][5];
2天前,在小于1.000.000 的数组声明中我没有问题,现在出现了此错误。 我在《 Clion》中什么也没改变。
我该怎么办?
答案 0 :(得分:0)
错误号0xC00000FD
代表“堆栈溢出”(我想您的平台是Windows)。在Windows下,局部变量在堆栈上分配(与其他大多数平台一样),int arr[30007][5]
很大(30007 * 5 * 4 = 600140字节),堆栈通常很小(通常约为1 Mb,也是平台)依赖)
您有很多选择:
std::vector
代替原始数组(首选)static int arr[30007][5];
),然后它将不再驻留在堆栈中