假设我有一个名为n的变量,并用2填充它 让n = 2;
我想对它做一些数学运算,例如(n * 3 + 5) 为什么这些结果不一样?
1)n = n * 3 + 5; // 11
2)n * = 3 + 5; // 16
(n * =任意)等于(n = n *任意)是不是真的?
答案 0 :(得分:8)
因为n *= 3 + 5
是n = n * (3 + 5)
,而不是n = n * 3 + 5
(即n = (n * 3) + 5
)。
详细信息。这个:
n *= 3 + 5
是
n = n * (3 + 5)
(对于n = 2
)
n = 2 * 8
是16。
但这是
n = n * 3 + 5
是(对于n = 2
)
n = 2 * 3 + 5
是
n = (2 * 3) + 5
是
n = 6 + 5
即11
。