因为 ++a 和 a++ 是两种自加方法,有所不同..
++a 是先自加再参与运算 ;
a++ 是先参与运算在自加;
下面来解析下不同:
(1) int a = 0 ; | (2) int c = 0;
int b = ++a + ++a ; | int d = c++ + ++c ;
int b = (0+1) + (1+1) ; | int d = (0) + (1+1);
int b = 3 ; | int d = 2;
第一个a++ 先自加 值为:1 第二个 a自加之前值已经为1 , 再自加为2 | 第一个c++是先运算再自加,值为0. 第二个++c
| 因为之前的c++,所以运算后赋值自身,所以++c值为2;
上面是变量名重复出现的问题解析
如果 int a = 0 ;
a = a ++;
这个表达式的意思是 右边a 先赋值给左边的a ,所以直接输出a的值还是 0
如果 int a = 0;
int b = a ++ ; 执行输出则a的值是1,b的值为0..
|