int a = 5;
int b =a++ + (++a) * 2 + ++a;
看这个表达式的运算结果:
具体步骤我们来分析下:
int a=1;
int b=++a;
相当于:
int a =1;
a=a+1;
int b=a;
所以 前加是先自增 再赋值。
int a=1;
int b=a++;
相当于:
int a=1;
int b=a;
a=a+1;
所以后加就是先赋值,再自增
为什么呢?
=是赋值表达式,优先级高于自增表达式++,后加的时候,先赋值,再自增