为什么我的C代码没有运行或运行太慢?

时间:2019-03-23 14:31:12

标签: c windows loops gcc

我在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提示符执行它。但是,它一直在思考,什么也没显示。 有什么问题吗?

3 个答案:

答案 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循环不会进入{ }部分。因此fahrupper的值永远不会改变,而while循环将永远运行。删除分号,您的代码将运行良好。