我在c中的代码是:
#include <stdio.h>
main()
{
int fahr, celsius;
int lower, upper, step;
lower = 0;
upper = 300;
step = 20;
fahr = lower;
while (fahr <= upper); {
celsius = 5 * (fahr - 32) / 9;
printf("%d\t%d\n", fahr, celsius);
fahr = fahr + step;
}
}
我已经用gcc编译了它,没有任何错误,正在尝试用Windows提示符执行它。但是,它一直在思考,什么也没显示。 有什么问题吗?
答案 0 :(得分:1)
在while语句后删除分号。
像这样,while循环是一个无限循环,因为花括号内的代码不被视为循环主体。 while循环的主体为空,永远不会终止。
大括号中的代码将永远不会执行。
答案 1 :(得分:0)
您编写的while循环并没有达到您的预期。错误在这一行:
while (fahr <= upper); {
此处的分号会提前终止while语句。这将创建一个无限循环,因为您的程序现在正在不断评估fahr <= upper
,而无需修改fahr
的值。
删除该分号,您的程序将按预期执行。
答案 2 :(得分:0)
更改
while (fahr <= upper); {
收件人
while (fahr <= upper){
由于在while循环后使用分号,因此while循环不会进入{ }
部分。因此fahr
和upper
的值永远不会改变,而while循环将永远运行。删除分号,您的代码将运行良好。