为什么a=4,b等于14,好奇怪啊

img


这是如何计算的,求解答,我的理解是这样的,符号在变量前,先自加(减)1,再做赋值运算
符号在变量后,则先做赋值运算,再加(减)1

a:6 -->5 -->4

你理解的对,但对了一半
a++的优先级比整个表达式的优先级低
--a的优先级比整个表达式的优先级高
所以表达式等价于
a=5;
--a;
--a;
b=a+a+a;
a++;
然后你算吧
注意,不同的IDE对应什么是“表达式”定义是不一样的,有些会把一部分加减乘除合并了先执行
所以实际写代码的时候一定要坚决避免写这种坑爹的代码