c语言数组动态赋值

for(i=0i<5;i++)scanf("%d",&a[i]);请问为什么这个一定要输满5个才能返回,书上不是说如果不赋初值就自动初始化为0吗,那我就给前... for(i=0i<5;i++)scanf("%d",&a[i]);请问为什么这个一定要输满5个才能返回,书上不是说如果不赋初值就自动初始化为0吗,那我就给前面2个赋了初值,后面的不想赋初值,为什么想返回不能返回 展开
 我来答
306712241
推荐于2016-10-01 · TA获得超过2512个赞
知道小有建树答主
回答量:890
采纳率:100%
帮助的人:262万
展开全部
因为你写的有for循环啊 for(i=0 ;i<5;i++) 你输入两个后循环还没有退出,又执行输入语句 scanf("%d",&a[i]); 所以你必须得输入啊,要不程序一直停这,没法向下运行

如果你想输入任意个数 给你一段程序:
i=0;
printf("输入数据,回车结束\n");
do
{
scanf("%d",&a[i]);
i++;
c=getchar();
if(c=='\n')
break;
}
while(1);
qy2664257
2012-04-10 · TA获得超过188个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:221万
展开全部
因为for循环没有执行完毕,你也没有设置跳出点,所以不能跳出
你也知道问题是动态数组赋值
所以一般不这样赋值,一般
char array[10];
char *p = array[10];
gets(p);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
703075246
2012-04-10
知道答主
回答量:26
采纳率:0%
帮助的人:22.9万
展开全部
这是个循环结构,一共要循环5次。所以一定要输满5个值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式