c语言中怎么随输入确定数组大小,最好有实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中怎么随输入确定数组大小,最好有实例相关的知识,希望对你有一定的参考价值。

楼上说的其实不完全是正确的,其实还是有可能是实现的。
#include<stdio.h>
#include<malloc.h>
main()
int len,i;
int * pArr;
printf("请输入数组的元素个数:\n");
scanf("%d",&len);
pArr=(int *)malloc(4*len);
printf("为数组赋值:\n");
for(i=0;i<len;i++)
printf("第%d个元素:",i);
scanf("%d",&pArr[i]);

printf("数组输出:\n");
for(i=0;i<len;i++)
printf("%4d",pArr[i]);

满意请采纳!
参考技术A C语言是不支持数组动态分配大小,如果想要根据用户输入确定存储变量空间,可以使用动态申请内存的方式。例如用户输入n,我就申请n个整形的存储空间的例子:int* p = (int *)malloc(n * sizeof(int));本回答被提问者采纳 参考技术B 可以用动态内存分布啊,用malloc函数,relloc函数可以实现,其实现在有的编译器也可以这样做如int a;
scanf(“%d”,&a);
char b[a];
其他的编译器我不太清楚,不过codeblocks是可以实现的
参考技术C C语言数组初始化时,即已确定了大小啊~~
随你输入多少数据,大小也不变吧
莫非你是指已用的数据占了多少空间?
参考技术D C语言的数组大小都是静态的。从理论上,没有随输入确定数组大小的。你说的,应该是有多少数组元素被用户赋值了。

c语言中怎样输入多组数据 每组数据个数不确定 每组数据占一行

多组数据与单个数据的输入的区别在于多组数据的逻辑组成,这不是输入函数能解决的问题。
简单的说,多组数据可以通过添加循环来实现,即在循环中放入单个输入,并设定循环次数。此方法可以解决一个数组的输入;如果再外加一层循环,则可解决一个矩阵中所有数据的输入。
要实现你所想的功能,需要对输入流程进行处理,即定义某个输入为内层循环的终止值,当输入此值时表明本行数据输入完成。而外层循环处理所需要的行数。
希望能给你提供帮助。
参考技术A #include
void
main

int
i;
char
*a[10];/*可以用来存储10组数据的首地址,如果是其他类型的话,定义时用其他类型说明替换char*/
for(i=0;i<10;i++)

printf("请输入一个字符串数据:");
gets(a[i]);/*这样a[i]指向你输入的字符串首个字符的地址*/

for(i=0;i<10;i++)
puts(a[i]);

大概就是这个意思啦。还有些不完善,请见谅。

以上是关于c语言中怎么随输入确定数组大小,最好有实例的主要内容,如果未能解决你的问题,请参考以下文章

C语言中怎么把一维数组初始化都为0,

C语言中怎么定义个线性表

C语言中,对于不知道长度的数组怎样输入。。。

怎样在c语言中输入不少于10个数字的数组,急求

c语言中怎样实现对二维数组元素进行赋值并输出。

c语言动态数组如何扩充空间