我写了这个C程序,但是Array不能正常工作

所以,我是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;
}
ckm5138 回答:我写了这个C程序,但是Array不能正常工作

您不能以这种方式分配数组吗?

  1. 如果在包含之后您的n被定义了,就可以#define n 123
  2. 如果您声明n,则需要动态分配数组 array = (int*)malloc(n * sizeof(int));
本文链接:https://www.f2er.com/3155923.html

大家都在问