i++和++i的老问题!
(1) i=3 (2) i=3 (3) i=3 (4) i=3 j=i++ j=++i j=i++ j=++i
s=++i s=i++ j=++i j=i++
结果: 结果: 结果: 结果:
j=3 j=4 j=5 j=4
s=5 s=4 j=5 j=4
问题1:
(1)中程序执行完j=i++后,是不是i=4了?然后程序把++i(4+1)的值赋给s?
问题2:
如果问题(1),为什么(3)中结果会不一样?(3)中执行过程是怎样的?
问题3:
j=++i的意思是说i的值先变成4,再赋给j,j的值为4,此时i的值是3还是4?s=i++是先将i的值3赋给s,即j的值为3,然后i变成4.
那为什么结果s≠3,而s=4?是不是j=++i之后,i的值已经是4?