https://i.imgur.com/63HAVsW.jpg
这是我在网络上找到的优先权表,因为++的优先权比=还高
所以如果假设一个变量a=0,那让b=a++
结果却是b为0,可是如果看优先权的话不是应该要a先+1的吗?
先谢谢各位。
刚刚有看过第八戒了,虽然可能是我理解错,不过他那篇好像是在说一个expression中对同一个变量做++的问题看过了之后还是不知道为什么qq
作者:
Dracarys (MayShowGunMore)
2020-06-08 00:44:00postfix increment他的确是先“加一”了你把他可以想成一个function 先复制a到一个local variable再执行prefix increment (++a) 再return那个local variable
感谢,不过不太了解为什么b=++a就不会有这种先复制到local variable的情形呢?
作者:
Dracarys (MayShowGunMore)
2020-06-08 07:27:00因为规定?可能要观落樱问Dennis Ritchie
因为他本来的定义就是那样优先权、回传值跟算子的最终值是三件事
作者: SaberZ7 (Sean) 2020-06-08 10:26:00
为什么要这样写我觉得比较重要。
作者:
Jekk (Lestrade)
2020-06-11 01:15:00a++ --> 整个式子运算完以后 a=a+1++a --> 先a=a+1以后再运算整个式子