C语言 全局变量

来源:百度知道 编辑:UC知道 时间:2024/09/23 01:41:45
int score[2][3],x,a_stu[2];
main()
{
int i,j,s;
for(i=0;i<2;i++)
{
printf("\nInput score of student%2d\n",i+1);
for(j=0;j<3;j++)
{
scanf("%d",&x);
score[i][j]=x;
}
}
for(i=0,s=0;i<2;i++)
{
for(j=0;j<3;j++)
s+=score[i][j];
a_stu[i]=s;
}
for(i=0;i<2;i++)
{
printf("\nNO.%2d",i+1);
for(j=0;j<3;j++)
printf("%10d",score[i][j]);
printf("%10d",a_stu[i]);
}
getch();
}
输入
NO1:10,20,30
NO2:40,50,60
打印
10 20 30 60
40 50 60 210(为何不是150)

for(i=0,s=0;i<2;i++) //s=0只执行一次,
{
//你可以将s=0,放这里就可以了
s = 0;
for(j=0;j<3;j++)
s+=score[i][j];
a_stu[i]=s;
}

打印
10 20 30 60
40 50 60 210(为何不是150)

为什么是150?
10+20+30+40+50+60=? 不是210么?

for(i=0,s=0;i<2;i++)
{
for(j=0;j<3;j++) i=0循环结束后,你没有把
s+=score[i][j]; s清零!
a_stu[i]=s;
}

int score[2][3],x,a_stu[2];
main()
{
int i,j,s;
for(i=0;i<2;i++)
{
printf("\nInput score of student%2d\n",i+1);
for(j=0;j<3;j++)
{
scanf("%d",&x);
score[i][j]=x;
}
}
for(i=0,s=0;i<2;i++)
{
for(j=0;j<3;j++)
s+=score[i][j];
a_stu[i]=s;
}
for(i=0;i<2;i++)
{
printf("\nNO.%2d",i+1);
for(j=0;j<3;j++)
printf("%10d",score[i][j]);
printf("%10d",a_stu[i]);
a_stu[