gpt4 book ai didi

c - C 中退出 while 循环

转载 作者:行者123 更新时间:2023-11-30 18:54:11 25 4
gpt4 key购买 nike

#include <stdio.h>
#define true 1
#define false 0

int main(int argc, char *argv[])
{
float celsius, fahrenheit;
while(true) {

printf("Please input a temperature in Celsius (type 'stop' to stop): " );
scanf("%f", &celsius);

fahrenheit = (1.8 * celsius) + 32;
printf("Temperature in Fahrenheit: %f ", fahrenheit);
}

return(0);

}

我正在尝试用 C 语言编写一个将摄氏度转换为华氏度的程序。我希望程序继续循环,直到用户输入“停止”。 C 中退出 while 循环的最佳方法是什么?

最佳答案

由于 stop 不会转换为 float ,因此您应该测试 scanf() 的返回值,因此:

#include <stdio.h>

int main(void)
{
float celsius, fahrenheit;
while (1)
{
printf("Please input a temperature in Celsius (type 'stop' to stop): ");
if (scanf("%f", &celsius) != 1)
break;

fahrenheit = (1.8 * celsius) + 32;
printf("Temperature in Fahrenheit: %f\n", fahrenheit);
}

return(0);
}

break 语句实际上中断了循环。请注意,如果您输入“abracadabra”或其他任何非浮点值,此操作将会停止。用换行符终止非提示输出。

关于c - C 中退出 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com