关于++符号的问题!前辈帮忙!
这段代码里——
int i=3;
int j=i++;//i=4,j=3
int k=++i;//i=5,k=5
第一个问题:书上说++的意思为自加1,那么上面的代码i的值为3,自加1后得4,在将i的值赋给j、结果应该是j和i都为4,怎么i等于4,j=3呢?
第二个问题:i++和++i有什么不同?
谢谢前辈们了!
------解决方案--------------------i++
i = i;
i = i + 1;
++i
i = i + 1;
i = i;
这是这两个操作的执行过程,
a int i=3;
b int j=i++;//i=4,j=3
c int k=++i;//i=5,k=5
执行过程如下
1 int i = 3;
2 int j = i; // j=3
3 i = i + 1; // i=4
4 i = i + 1; //i=5;
5 int k = i; //k=5;
b 相当于 1,2两句的效果
c 相当于 4,5两句的效果