不是的。
我们分步来算,根据堆栈的计算规则
首先执行i++*2,由于i++是算运算,所以此时得到的i++*2的结果为2,计算结束后i自加,i=2
接着计算3*--i,同你上面所描述的先做--,此时i=1,3*--i=3*1=3
最后2者相加得出结论5.
i++ 是先赋值在计算 所以 i++*2 =2 3*--i =3 j=5 i=1
j =1*2+3*(2-1) =5 计算j的时候,第一个i是1,第二个是已经+1之后的,i=2了
i++*2 先用i=1运算,运算后得出结果为2,然后i+1得出i=2
3*--i 先对i做减一,得出i=1,再运算3*1,得出结果为3
j=2+3=5