教自己C,发现当我做一个温度转换的方程式时,除非我把分数改成小数,否则它是行不通的。IE
tempC=(.555*(tempF-32))将起作用,但tempC=((5/9)*(tempF-32))不起作用。
为什么?
根据c primer plus,它应该可以工作,因为我在tempc和tempf中都使用浮点数。

最佳答案

在第二种情况下,似乎有整数除法:

tempC=((5/9)*(tempF-32))

5 / 9将被截断为零。
要解决这个问题,需要将其中一个设置为浮点类型:
tempC=((5./9.)*(tempF-32))

关于c - 为什么除法结果为零而不是小数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8906722/

10-11 21:26