You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么下述C语言温度转换程序运行后输出结果为37

运行结果异常的原因

C语言中整数和整数执行除法运算时默认走整数除法逻辑,会直接丢弃小数部分,仅保留整数位的结果。
你代码中的(9/5)两个操作数都是int类型,运算结果为1,并非预期的1.8。代入表达式计算可得:1 * 5.0 + 32 = 37.0,这就是输出结果为37的原因。

修复方法

只需要让除法的任意一个操作数变为浮点类型,就会触发浮点除法得到正确的运算结果,可选修改方案如下:

  • 将9/5修改为9.0/5
  • 将9/5修改为(float)9 / 5

修改后运算结果为1.8 * 5.0 + 32 = 41.0,符合摄氏温度转华氏温度的预期结果。

内容的提问来源于stack exchange,提问作者Abhiraj Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:54:04