先执行++i,在执行加法,然后执行=运算,最后执行i++.
k = (++i) + (++i) + (++i)= 18 (先执行3次++i,i的值是6,k=6+6+6=18)
k = (++i) + (++i) + (i++)=15 (先执行2次++i,i的值是5,k=5+5+5=15,最后执行i++)
k = (++i) + (++i) + (++i) + i=24 (先执行3次++i,i的值是6,k=6+6+6+6=24)
k = (++i) + (++i) + (++i) +(++i)=28(先执行4次++i,i的值是7,k=7+7+7+7=28)
k= () + () + () + (i++) 22 这个没明白什么意思,但是只操作i的话没法等于22
k = (++i) + (++i) = 10 (先执行2次++i,i的值是5,k=5+5=10)
k = (i++) + (i++) = 6 (先执行k=i+i=3+3=6,在执行两次i++)
k = (i++) + (++i) = 8 (先执行1次++i,i的值是4,k =4 + 4=8,在执行1次i++)
k = (++i) + (++i) +i = 15 (先执行2次++i,i的值是5,k= 5+5+5=15)
k=(++i) + (i++) + i = 12(先执行1次++i,i的值是4,k= 4+4+4=12,在执行i++)
k=(++i) + i + i = 12
这 连加 连减 不要去研究,不同的编译器会得到不同的结果,而且实际工作中根本不会这么写代码,所以还是别把时间浪费在这上面。