c语言求助,输出数组前为何要加for语句

#include<stdio.h>
void main()
{
int a[5]={2,4,6,8,10},i,b,t;
scanf("%d",&b);
for(i=0;i<5;i++)
if(b<=a[i])
{
t=a[i];
a[i]=b;
b=t;
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("%d",b);
}
开始已经有个for语句了,a[i]是循环一次输出一个值的,为何在输出a[i]之前,还要加一个for语句,感觉多余,但去掉a[i]前的for语句后,却输不出正确结果了,这是为什么,请给个回答,谢谢!

因为第一个for只管到if语句的结束,主要是for没有大括号,再向下就作用不到了,你可以换一个写法:
for(i=0;i<5;i++)

if(b<=a[i])
{
t=a[i];
a[i]=b;
b=t;
} // if 结束
printf("%d",a[i]);
}// for 结束
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-16
你的第一个for没有加花括号只管到if语句,所以要想全部输出得加for循环。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网