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

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:03:05
# 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]这条语句是怎样被赋值的

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();
}

&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;循环结束;
输出的是你输入数的和;

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[