想要同时在c语言中输入多个数该怎么办?

2026年09月22日 23:29
有1个网友回答
网友(1):

C的数组是不可以动态增长,如果你不想使用链表,可以参考下面方法。

1、用malloc分配一块空间,比如int* a = (int*) malloc( 10*sizeof(int) );
然后可以当成好像是数组一样使用,比如a[2] = 5;

2、然后你需要增长的时候,就用realloc( a, 20*sizeof(int))扩展空间。不过每一次扩展都会有一次拷贝,相当于分配一块新的空间,然后把原来的数据拷贝过去,所以数组大了以后,速度会很慢。

3、使用while(scanf("%d",&n)!=EOF){}语句,直达输入ctrl+z,结束输入,例如:

#include 
int main()
{
    int a;
    while(scanf("%d",&a)!=EOF){
        printf("输出:%d\n",a);   
    }    
    return 0;
}
/*
运行结果:
54
输出:54
5156
输出:5156
21
输出:21
^Z
 
*/