我在模数中理解这一点17/12 = 5
。
为什么4+17 % 2-1
价值是4
,(4+17) % 2-1
价值是0
?
我在模数中理解这一点17/12 = 5
。
为什么4+17 % 2-1
价值是4
,(4+17) % 2-1
价值是0
?
运算符优先级。%
首先被评估,所以
4 + 17 % 2 - 1
相当于
4 + (17 % 2) - 1
17%2 == 1
产生4+1-1
等于4
当您在那里放置括号时,您会更改评估顺序:
(4+17) % 2 - 1
相当于
21 % 2 - 1
再次,由于%
具有比 更高的优先级-
,产生
1 - 1
这是0
4+17 % 2-1
被解释为4+(17 % 2)-1
= 4 + 1 -1
= 4
(% 运算符的优先级高于+
and -
)
(4+17) % 2-1
= 21 % 2 -1
= (21 % 2)-1
= 1-1
=0