i=7
k=12
因为++是右结合运算符,所以是先执行完k=(i++)+(i++)+(i++);(注意执行这一句时,i的值始终为4),然后i才加1的,有3个(++i),所以加3次,因为k=(i++)+(i++)+(i++);已经执行完了,所以i自加后不会影响到k的值,所以i=7,k=4+4+4+12;
如果是k=(++i)+(++i)+(++i);则是i先加1,计算第一个++i时,i=5,计算第二个++i时,i=6;然后计算k=(++i)+(++i)=6+6=12;然后再计算第三个++i;i=7;最后计算k=22+(i++)=12+7=19;
++和--都是右结合运算符,单独用(即单独作一条语句)时++i和i++没什么区别,但是在如果++i和i++是一个语句的一部分时,++i和i++就是有区别的了。
6
i=7;
k=15;