最近我又回到了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会更改可用的选项,使编译和编译功能分离。