这是我将数据输入数组的一般方式
for(i=1to size)
{
scanf(%d",&a[i]);
}
如果有大量输入怎么办?就像一个包含100000个数字的文件 和大小从终端
答案 0 :(得分:2)
int a[size];
您的代码有什么问题。 您通过使用变量为数组分配内存,该变量在堆栈上分配它。如果分配的数量超过了堆栈允许的数量,那么你实现的是...堆栈溢出!
您需要使用malloc()在堆上分配内存。你这样做的方式是:
int * a;
a = malloc(size*sizeof(int));
如果您想了解更多关于malloc,使用它的原因以及如何使用它,谷歌是您的朋友。