谁能帮我详细解释一下 下面这个C语言程序中几个地方

#include"stdio.h"main(){inta[3]={3*0};inti;for(i=0;i<3;i++)scanf("%d",&a[i]);for(i=1;... # include"stdio.h"
main ()
{
int a[3]={3*0};
int i;
for(i=0;i<3;i++) scanf("%d",&a[i]);
for(i=1;i<3;i++) a[0]=a[0]+a[i];
printf("%d\n",a[0]);
getch();
}
&a[i] 中的i值在运行时 是怎样被赋值的 还有就是a[0]=a[0]+a[i]这条语句是怎样被赋值的
展开
 我来答
yumenfeiyu945
2008-05-19 · TA获得超过8976个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:228万
展开全部
for(i=0;i<3;i++) scanf("%d",&a[i]);
i是控制循环变量,在循环体每完成一次后i++,即i=i+1,这个语句的意思就是依次输入数组中的3个元素的值

for(i=1;i<3;i++) a[0]=a[0]+a[i];
a[0]=a[0]+a[i]即将a[0]+a[i]的值赋给a[0],得到一个新的a[0]值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenjianhui102
2008-05-19 · TA获得超过465个赞
知道小有建树答主
回答量:852
采纳率:0%
帮助的人:676万
展开全部
&a[i] 中的i值在运行时 ,通过循环控制它的改变,for(i=0;i<3;i++),先i=0;一直加一,直到i<3;

for(i=1;i<3;i++)
a[0]=a[0]+a[i];
也是通过循环来控制的,先a[0]=a[0]+a[1];a[0]有个值;i++;i=2;
然后a[0]=a[0]+a[2];a[0]有个值;i++;i=3;
3>2;循环结束;
输出的是你输入数的和;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
getborn
2008-05-19 · TA获得超过964个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:461万
展开全部
scanf()第二个参数是读取数据存放的地址,a[i]是数组中的变量,取他地址就要加个&了。

a[0]=a[0]+a[i]则很好理解了,数组中第1个成员的值等于它与a[i]的值之和。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幻瞑旋梦
2008-05-19
知道答主
回答量:23
采纳率:0%
帮助的人:0
展开全部
main ()
{
int a[3]={3*0};
int i;
for(i=0;i<3;i++) scanf("%d",&a[i]);
//i=0,判断i<3(true),a[0]赋值,i+1(即i=1);
//i=1,判断i<3(true),a[1]赋值,i+1(即i=2);
//i=2,判断i<3(true),a[2]赋值,i+1(即i=3);
//i=3,判断i<3(false),跳出循环,(i=3);
for(i=1;i<3;i++) a[0]=a[0]+a[i];//假设a[0]=8,a[1]=4,a[2]=1;
//i=1,判断i<3(true),a[0](12)=a[0](8)+a[1](4),i+1(即i=2);
//i=2,判断i<3(true),a[0](13)=a[0](12)+a[2](1),i+1(即i=3);
//i=3,判断i<3(false),跳出循环,(i=3);
//结果a[0]=13;
printf("%d\n",a[0]);
getch();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8ee77b6
2008-05-19 · TA获得超过836个赞
知道小有建树答主
回答量:675
采纳率:0%
帮助的人:400万
展开全部
赋值就是把右值赋值给左值,就先计算右面的数据,计算完以后给左值就行了

scanf是对地址的操作,所以要+&符号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式