C语言循环 while() 括号里的只能是bool型吗?即 括号里的值只能是0或1吗?while(a>3)这样写对吗?

如题所述

括号里是执行循环的条件,while(a>3)这样写没问题的,意思是当a>3的时候执行循环。其实while可以和for循环相互转换的,以斐波那契数列为例,用for循环写:
#include "stdio.h"
void main()
{
long int f[25];
int n,i;
f[0]=1;
f[1]=1;
for(i=2;i<25;i++)
{
f[i]=f[i-1]+f[i-2];
}
for(n=0;n<25;n++)
{
printf("%6d",f[n]);
if((n+1)%5==0)
printf("\n");
}
}
也可以用while循环来写:
#include "stdio.h"
void main()
{
long int f[25];
int n,i;
f[0]=1;
f[1]=1;
i=2;
while(i<25)
{
f[i]=f[i-1]+f[i-2];
i++;
}
n=0;
while(n<25)
{
printf("%6d",f[n]);
if((n+1)%5==0)
printf("\n");
n++;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-13
正确的,比如:
a=1;
sum=0;
while(a<10)
{a++;
sum=sum+a;}
第2个回答  2011-11-13

可以是表达式
第3个回答  2011-11-13
正确的,比如:
a=1;
sum=0;
while(a<10)
{a++;
sum=sum+a;}
第4个回答  2011-11-13

可以是表达式
相似回答
大家正在搜