怎么会有两个相同的for语句?

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:07:40
#include"stdio.h"
main()
{int i,a[4];
printf("\n输入数组a(共4个整数):");
for(i=0;i<=3;i++)
scanf("%d",&a[i]);
printf("输入数组a:\n");
for(i=0;i<=3;i++)
printf("a[%d]=%d\n",i,a[i]);
}
中怎么会有两个相同的for语句?各有什么作用?

for(i=0;i<=3;i++)
scanf("%d",&a[i]);
这个是第一个循环
for(i=0;i<=3;i++)
printf("a[%d]=%d\n",i,a[i]);
这个是第二个循环
其实你不知道这两个循环的意思是因为你的FOR循环的参数定义不熟悉,我就从这里给你探讨探讨吧!
C语言规定for循环的格式为for(初始条件;循环终止条件;单次循环后执行的语句),并规定循环的内容为for语句的下一跳语句(我们用{}扩起来可以认为是一条语句)
看了定义后我们发现,for的初始条件在一个循环里面只执行一次!哪么我们就可以把控制循环的变量释放出来,可以节省内存空间!
我们再回到你的原题,你就明白了!
总之一句话!循环完了控制循环的变量就可以释放了!

明白点是这样的:

#include"stdio.h"
main()
{
int i,a[4];
printf("\n输入数组a(共4个整数):");
for(i=0;i<=3;i++)
{
scanf("%d",&a[i]);
}
printf("输入数组a:\n");

for(i=0;i<=3;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
}

第一个循环:实现输入四个数;
第二个循环:实现输出四个保存在数组a里的数;

如果for循环里只有一条语句的话,那么后面可以不用{}(花括号即大括号)括起来;

如果for里有大于等于2条的语句(即循环体)的话那需要用{}了。