我正在浏览K& R中的示例,并偶然发现了这段代码:
apt-get install
作者说我们不能使用5/9,因为整数除法会导致值为0.
程序然而,当fahr = 0时输出17作为答案。根据我的计算,(0-32)/ 9应该导致-3(由于截断)然后-3 * 5 = -15,而不是-17。为什么会这样?
答案 0 :(得分:3)
(0 - 32)首先乘以5,得到-160。 -160 / 9 = -17。
答案 1 :(得分:3)
作者所说的是不应该使用
celsius = (fahr-32)*(5/9);
关于你的问题,
celsius = 5 * (fahr-32) / 9;
与
不同 celsius = 5 * ((fahr-32) / 9);
在后一种情况下,-15
时确实会得到fahr=0
。