如题所述
while循环是对while括号后面的表达式进行真假的判断,,比如你用的a,C语言中有这样的规定,如果a=0;那么a
表达的就是假,如果a不为0,那么他表示的是真,因此,上面的循环,只要a不等于0,那么循环就一直进行
刚开始学的时候,我一直以为,只有在等于1的时候才是真,等于2他就不能循环了,其实那是错的,编译器判断真假条件的标准是他等不等于0,而不是等不等于1,楼主记住了哦~
还有就是,如果楼主的意愿是让a=0的时候退出循环,那么就可以按照你写的方法进行,如果楼主的意愿是让a=0的时候才循环,那么有2种写法
while(!a)
{
//对a进行非操作
}
还有就是
while(0==a)
{}
建议写成0==
a
的形式,其实0==a,和a==0实质是一样的,但是如果你讲0==a,写成了0=a,那么编译器会报错,而将
a==0写成a=0编译器是不会报错的,可以减少风险。
祝你进步!!
是否可以解决您的问题?
表达的就是假,如果a不为0,那么他表示的是真,因此,上面的循环,只要a不等于0,那么循环就一直进行
刚开始学的时候,我一直以为,只有在等于1的时候才是真,等于2他就不能循环了,其实那是错的,编译器判断真假条件的标准是他等不等于0,而不是等不等于1,楼主记住了哦~
还有就是,如果楼主的意愿是让a=0的时候退出循环,那么就可以按照你写的方法进行,如果楼主的意愿是让a=0的时候才循环,那么有2种写法
while(!a)
{
//对a进行非操作
}
还有就是
while(0==a)
{}
建议写成0==
a
的形式,其实0==a,和a==0实质是一样的,但是如果你讲0==a,写成了0=a,那么编译器会报错,而将
a==0写成a=0编译器是不会报错的,可以减少风险。
祝你进步!!
是否可以解决您的问题?
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-03-15
//你当前写的挺不错的了,输入0即可退出循环
//如果要实现输入非数字 退出循环的话,请按照下面的修改
//当时这样改过后,输入0也不会退出循环了。
//希望对你有帮助。
int main (void)
{
double Fahrenheit;
printf("本程序可以帮您将华氏温度转换为相应的摄氏温度和绝对温度.\n");
printf("请输入华氏温度:");
while (scanf("%lf",&Fahrenheit)) //检测输入是否合法
{
Temperatures (Fahrenheit);
printf("您可以继续输入华氏温度或者输入0来结束程序.\n");
}
return 0;
}
//如果要实现输入非数字 退出循环的话,请按照下面的修改
//当时这样改过后,输入0也不会退出循环了。
//希望对你有帮助。
int main (void)
{
double Fahrenheit;
printf("本程序可以帮您将华氏温度转换为相应的摄氏温度和绝对温度.\n");
printf("请输入华氏温度:");
while (scanf("%lf",&Fahrenheit)) //检测输入是否合法
{
Temperatures (Fahrenheit);
printf("您可以继续输入华氏温度或者输入0来结束程序.\n");
}
return 0;
}
第2个回答 2019-10-02
nt
main
(void)
{
double
Fahrenheit;
char
buf[1024];
printf("本程序可以帮您将华氏温度转换为相应的摄氏温度和绝对温度.\n");
printf("请输入华氏温度:");
while
(1)
{
printf("您可以继续输入华氏温度或者输入Q来结束程序.\n");
fgets(buf,
1023,
stdin);
if(buf[0]
==
'Q')
break;
sscanf(buf,
"%lf",
&Fahrenheit);
Temperatures
(Fahrenheit);
}
return
0;
}
main
(void)
{
double
Fahrenheit;
char
buf[1024];
printf("本程序可以帮您将华氏温度转换为相应的摄氏温度和绝对温度.\n");
printf("请输入华氏温度:");
while
(1)
{
printf("您可以继续输入华氏温度或者输入Q来结束程序.\n");
fgets(buf,
1023,
stdin);
if(buf[0]
==
'Q')
break;
sscanf(buf,
"%lf",
&Fahrenheit);
Temperatures
(Fahrenheit);
}
return
0;
}