最近我又回到了C编程,我开始做一些简单的练习。然而,当我尝试运行一个farenheit到摄氏度的转换程序时,我编写了farenheit列,它呈现得很好,但是摄氏度列总是计算为零。这是我的代码:

#include <stdio.h>

int main()
{
    int step;
    int upper;
    float farenheit;
    float celsius;

    step = 20;
    upper = 300;

    celsius = 0.0;
    farenheit = 0.0;

    printf("Farenheit \t Celsius\n");

    while(farenheit <= upper)
    {

        celsius = ((farenheit - 32.0) * 5.0) / 9.0;
        printf("\n%6f \t %6.1f\n", farenheit, celsius);

        farenheit = farenheit + step;
    }

    return 0;
}

输出如下:
Farenheit        Celsius

     0   -0.000000

    20   -0.000000

    40   0.000000

    60   0.000000

    80   0.000000

   100   0.000000

   120   0.000000

   140   0.000000

   160   0.000000

   180   0.000000

   200   0.000000

   220   0.000000

   240   0.000000

   260   0.000000

   280   0.000000

   300   0.000000


------------------
(program exited with code: 0)
Press return to continue

我看到其他人也遇到了这个问题,他们已经通过在应该是浮点的值上附加适当的零来解决了这个问题。然而,这似乎对我不起作用,我不确定这里的问题是什么。我正在使用Geany Linux集成开发环境来编写这段代码。
任何帮助都将不胜感激。

最佳答案

看起来集成开发环境编译器有缺陷。我使用gcc语法的命令行编译了源代码,当我运行程序时,与使用内置编译器的经验相比,一切都按预期工作。看来我的问题已经解决了。但是,有趣的是ide编译器存在这样的问题。不过,我要感谢大家对这个问题的投入。
编辑:啊哈!问题其实很简单我为浪费大家的时间深表歉意它看起来与错误编译器无关,但事实上,当我使用ide点击compile时,它不会创建可执行文件。为了让我正确运行程序,我必须编译它,然后选择一个选项来构建它。
我在geany ide中看到,对于用c编程语言编译的文件,compile选项既编译了一个或多个文件,又同时构建了一个可执行文件。对于用c编程语言编译的文件,geany会更改可用的选项,使编译和编译功能分离。

09-25 14:53