作业帮 > 综合 > 作业

C语言运算优先级别的问题

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/05 05:23:38
C语言运算优先级别的问题
c=5/9*(F-32)与c=(F-32)*5/9为什么不同
C语言运算优先级别的问题
因为5/9==0,所以5/9*(F-32)==0
(F-32)*5/9失少不总为零
再问: 为什么C语言中5/9是0,我已经定义了是单精度数啊
再答: 5是整数 9是整数 所以5/9就是两个整数相除,结果就还是整数,因为5比9小,所以就是0 要实现你的想法,要这样写5.0/9才行。 C语言是强类型语言,变量的类型定义很关键
再问: 大神,c=(float)5/9*(F-32)这样的强制类型转换怎么不行,是我写错了么?
再答: c=(float)5/9*(F-32)应该是可以的, float仅将整数5强制转换为浮点数5.0,后面的运算就按照浮点数运行了,应该没问题啊