c语言中如何输入一个没有长度的数组

 我来答
刘兰节午
2019-12-07 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:2246万
展开全部
方法一:每输入一次,都询问是否继续输入
while(1)
{
scanf("%d",&a[i]);
printf("是否继续?(y/n)");
c=getchar();
if(c=='y'||c=='y')continue;
else
break;
}
这种方法比较笨
方法二:规定输入的范围,例如要输入的是正整数,那么可以检测输入的是否合法,如果输入了负数就结束循环
while(scanf("%d",&a[i])==1&&a[i]>0)
{
continue;
}
方法很多,依据不用程序的不同任务可以有不同的办法。
战策的前线
2010-05-25 · TA获得超过178个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:221万
展开全部
晕 你也是这个问题啊 ....
我也正在犯愁呢...
看看上面悬赏5分的那个问题...
我的....
悲剧了
采纳我把...hha
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2010-05-24 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5227万
展开全部
动态分配数组 malloc
增加分配 realloc
--------------------------------
#include "stdio.h"

int main(void)
{
int *x;
int n=0;
x = (int *) malloc(sizeof(int));
while(1)
{
scanf("%d",&x[n]); printf("n=%d value=%d\n",n+1,x[n]);
n++;
x = (int *) realloc(x,sizeof(int) * (n+1));
}
getch();
return 0;
}
===============
打入:
12 34 56
n=1 value=12 // 输出
n=2 value=34 // 输出
n=3 value=56 // 输出
78 90
n=4 value=78 // 输出
n=5 value=90 // 输出
_ // 光标在这里.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式