后自增情况:
int a =1 ;
int b = a++;
这里相当于介入了一个临时变量temp
int temp = a ;//temp = 1
a = a+1;//a=2
后自增此处 是把temp的值进行操作
————————————————
前自增情况:
int c = ++a;
int temp = a ;//temp = 1
a = a+1;// a = 2
前自增 是把a 自增后的值进行操作
示例:
int i = 1;
i = i++;
syso( i ); 请问输出的i值是多少?为什么?
其实此处输出的i值为1 正如上述讨论结果,相当于一个temp的值直接赋值给了i,然后直接输出。
但是如果这个地方换成 int i = a++;
syso( i );syso( a );
此时输出的值为 i = 1 ; a = 2; 因为只是i=i++ 的话,自增的i的值不能被带到下面去
但是换成了a 的话,就不会因为赋值所阻碍。会直接被输出语句输出值
|
|