a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
++a是先自增再执行表达式,执行表达式时使用的是自增后的a。
例:
int a=0
printf("%d",a++); //输出0,执行完后a=1
int a=0
printf("%d",++a);//输出1,执行完后a=1
有个口诀,方便记忆,
++在前先加,意思就是先+1再赋值,比如i=++j,相当于j=j+1;i=j,
++在后后加,意思是先赋值后+1,比如i=j++,相当于语句i=j;j=j+1;
再例如:
count=5;
int i=count++ ; //此时 i=5
i=count; //此时 i=6
而
count=5;
int i=++count; //此时 i=6;
i=count; //此时 i=6