-4

根据我的理解,根据 PEDMAS,上述表达式的运算符优先级应该是 1,但是如果我将整个表达式声明为浮点数,那么答案是 1.4。

那么,正确答案是 1 还是 1.4?

11%2*7/(3+2)? 

 1. (3+2) = 5
 2. 11%2 = 1
 3. Putting all together = 1*7/5 = 1 ans
4

2 回答 2

1

如果你这样做(float)11%2... ,你将 11 转换为浮点数并使用浮点模数函数以 11.0%2 结束,该函数返回 1.0。然后 1.0 导致乘法为 1.0*7,返回 7.0 这导致我们使用返回 1.4 的浮点除法。

如果您想要 1(整数),则需要使用(float)(11%2...)将整个结果转换为浮点数

于 2021-10-13T01:03:10.320 回答
1

那么,正确答案是 1 还是 1.4?

两个都。你引用的两个案例是不同的表达方式

作为程序员,您编写所需的表达式。

于 2021-10-13T01:22:17.353 回答