所以,我是C语言的初学者,我只是写了这段代码来学习如何正确使用数组,但是如果我选择大于7的数字作为数组长度,程序就会爆炸。请帮助我找到错误。
#include <stdio.h>
int main() {
int n = 0, m = 0;
int array[n];
do{
printf("Array Length\n");
scanf("%d",&n);}
while(n<1);
do{
printf("Insert number %d: ",m);
scanf("%d",&array[m]);
m++;
}
while(m != n);
m = 0;
printf("Numbers:\n");
do{
printf("%d\n",array[m]);
m++;
}
while(m != n);
return 0;
}
答案 0 :(得分:-1)
您不能以这种方式分配数组吗?
n
被定义了,就可以#define n 123
n
,则需要动态分配数组
array = (int*)malloc(n * sizeof(int));