【发布时间】:2013-06-20 18:49:45
【问题描述】:
这个程序正在崩溃。在 C 中使用 n 长度数组是否有一些限制? 它在 C++ 中工作(使用 cin cout)。感谢您的宝贵时间。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int n;
printf("n\n");
scanf("%d\n",n);
int arr[n];
system("PAUSE");
return 0;
}
【问题讨论】:
-
@Mysticial 大到无法放入内存中,该内存将被一个指向
int的想要访问的指针访问,而是一个未初始化的非指针...... -
顺便说一句,这甚至不应该在 C++ 的严格模式下编译。 C++ 没有 VLA。
-
"it works in C++"不是应该在 C 中工作的原因 -
了解如何使用调试器,以便确定它崩溃的位置。
-
请不要编辑您的代码并插入修复程序。它改变了问题的性质。而是转到解决问题的答案,然后单击复选标记。然后人们就会知道你的问题已经解决了。