c语言中怎么随输入确定数组大小,最好有实例
6个回答
展开全部
楼上说的其实不完全是正确的,其实还是有可能是实现的。
#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]);
}
满意请采纳!
#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]);
}
满意请采纳!
展开全部
C语言是不支持数组动态分配大小,如果想要根据用户输入确定存储变量空间,可以使用动态申请内存的方式。例如用户输入n,我就申请n个整形的存储空间的例子:int* p = (int *)malloc(n * sizeof(int));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用动态内存分布啊,用malloc函数,relloc函数可以实现,其实现在有的编译器也可以这样做如int a;
scanf(“%d”,&a);
char b[a];
其他的编译器我不太清楚,不过codeblocks是可以实现的
scanf(“%d”,&a);
char b[a];
其他的编译器我不太清楚,不过codeblocks是可以实现的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言数组初始化时,即已确定了大小啊~~
随你输入多少数据,大小也不变吧
莫非你是指已用的数据占了多少空间?
随你输入多少数据,大小也不变吧
莫非你是指已用的数据占了多少空间?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言的数组大小都是静态的。从理论上,没有随输入确定数组大小的。你说的,应该是有多少数组元素被用户赋值了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询