我需要这两段代码的帮助。除了一个改变之外,它们都是相同的。
我在第一种情况下使用while (celsius <= upper)
,在第二种情况下使用while (lower <= upper)
。
案例1工作正常,但案例2没有按预期工作,即:循环永远不会结束。
#include <stdio.h>
//program to print celsius to fahrenheit table
int main (void)
{
float celsius, fahr;
int lower, upper, step;
celsius = lower = 0;
upper = 100;
while (celsius <= upper)
{
fahr = celsius * (9.0/5.0) + 32.0;
printf("%5.3f\t=\t%5.3f\n", celsius, fahr);
celsius = celsius + 1;
}
}
这很好用。
#include <stdio.h>
//program to print celsius to fahrenheit table
int main (void)
{
float celsius, fahr;
int lower, upper, step;
celsius = lower = 0;
upper = 100;
while (lower <= upper)
{
fahr = celsius * (9.0/5.0) + 32.0;
printf("%5.3f\t=\t%5.3f\n", celsius, fahr);
celsius = celsius + 1;
}
}
没有工作。
celsius = lower = 0;
在这两个案例中,摄氏度为&#39;并且&#39;降低&#39;两者都被赋值为0,并且两者也被分配为彼此相等,所以为什么当“摄氏度”时,程序运行相同。并且&#39;降低&#39;互换了吗?
感谢任何帮助。
答案 0 :(得分:3)
在第二个示例中,您将lower
设置为0并且永远不会更改它。因此,比较lower <= upper
的循环将永远运行。