我在浏览 K&R 中的示例时,偶然发现了这段代码:
celcius=5 * (fahr-32) / 9;
作者说我们不能使用 5/9,因为整数除法截断会导致值为 0。
然而,当 fahr=0 时,程序输出 17 作为答案。根据我的计算,(0-32)/9 应该导致 -3(由于截断)然后 -3*5 = -15,而不是 -17。为什么会这样?
最佳答案
(0 - 32) 首先乘以 5,得到 -160。 -160/9 = -17。
关于c - 为什么这里不发生整数除法截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273868/