(C语言)有如下程序:输出数组中的全部元素。

#include<stdio.h>voidmain(){inta[10];inti;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;... #include<stdio.h>
void main()
{
int a[10];
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++) ← // 此句为何不能省略?意义何在?省略后为何

printf("%d",a[i]); // 输入什么都是 1245120?这个数又代表什么意思?

printf("\n");
}
展开
 我来答
zhangsonglin_c
高粉答主

2012-12-25 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.7万
采纳率:83%
帮助的人:7054万
展开全部
第一个for语句,只管到scanf("%d",&a[i]); 读入数据。这个循环结束后,i的值已经是10.
第二个for语句,如果想每行输出一个数,应该管到printf("\n"); 此时,应该讲两个printf语句放到{ }中。这个程序第二个for实际上只管printf("%d",a[i]); 所有的数都显示在一行上。
第二个for管打印出数组中的数,因此不能省略。省略了打印的就是啊a[10]的值,而a[10]未曾定义。是内存中的内容。这是随机的。每次运行应该都不同。
cdz303
推荐于2017-09-18 · TA获得超过1225个赞
知道小有建树答主
回答量:466
采纳率:0%
帮助的人:590万
展开全部
for(i=0;i<10;i++)
printf("%d",a[i]);
是一个语句
是循环输出数组0-9中的数
省略后,i=10
输出a[10],超出数组范围,其中的数是编译器初始化的,
你的编译器初始化为1245120
追问
为啥省略后,i=10?前面有
for(i=0;i<10;i++)
scanf("%d",&a[i]);
这两句话呀!
追答
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
printf("%d",a[i]);
}
这样写的话是每输入一个,就输出一个

没有大括号的话,for循环中只有scanf这一句
printf是在退出循环之后执行的
退出循环时 i 就等于10了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c59c581
2012-12-25 · TA获得超过196个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:115万
展开全部
for(i=0;i<10;i++) ← // 此句为何不能省略?意义何在?省略后为何

这就就是用来循环以输出全部内容的啊,
没有这一句的话,此时i=10,a[10]应该溢出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
什么名真难起
2012-12-25 · TA获得超过606个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:377万
展开全部
1、printf函数一次只能打印一个,所以要用循环打印10次才能将a打印完毕;
2、经我的验证没有出现你说的问题,结果正确无误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
winforever1989
2012-12-25 · TA获得超过337个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:132万
展开全部
一楼正解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式