1 因为a++有一个压栈的操作,压入堆栈以后,变量是不能再被改变的。2 一行语句先执行所有的左++,再执行当前行语句,再执行当前行所有右++(++a)+=a;拆开写相当于:++a;a+=a;(++a) += (a++);拆开写相当于:++a;a+=a;a++;3 (++a)= (++a)+ (a++);拆开写相当于:++a;++a;a=a+a;a++; (++a)= (a++)+ (++a);拆开写相当于:++a;++a;a=a+a;a++;两个表达式是一样的。