首页 >后端开发 >C++ >为什么我的华氏转摄氏度 C 程序输出 0,如何解决?

为什么我的华氏转摄氏度 C 程序输出 0,如何解决?

Barbara Streisand
Barbara Streisand原创
2024-10-28 14:41:30234浏览

Why does my Fahrenheit to Celsius C   program output 0 and how can I fix it?

华氏温度到摄氏温度的转换:基本方程修改

在此 C 程序中,我们的目标是将华氏温度转换为摄氏温度。然而,该代码目前产生了意外的输出 0。让我们调查一下这个问题背后的原因。

代码中有问题的行是:

fahrenheit = (5/9) * (celsius + 32);

问题是由除法运算引起的(5/9)。在 C 中,默认执行整数除法,这意味着结果被截断为整数。这实际上使除法产生 0,即使我们希望它是浮点值。

为了纠正这个问题,我们需要修改除法以使用浮点运算。我们可以通过将其中一个操作数转换为浮点数来实现这一点,如下所示:

fahrenheit = (5.0/9) * (celsius + 32);

通过将 5 转换为浮点数 (5.0),我们强制整个除法以浮点模式执行,得出正确的转换公式。

通过此修改,程序现在可以正确计算华氏温度到摄氏温度的转换,在输入摄氏温度时提供准确的结果。

以上是为什么我的华氏转摄氏度 C 程序输出 0,如何解决?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn