这是个变量自加的问题,i++和++i是有区别的。
当一段代码里出现
...i++;...
或...++i;...
时,他们其实没多大区别,只是++i的执行效率要高些,但对结果i的值都是一样的。
但如果代码里出现的是
...m=i++;...
或...m=++i;...
时,他们结果就不一样了,因为i++是先赋值再自加(可以理解为2句:m=i;++i;),而++i是先自加再赋值(可以理解为2句:++i;m=i)。也就是说如果i=5,那么执行之后,前者的m=5;而后者m=6.
这些你可以试一下再慢慢体会,希望对你有帮助。。。
对于上边的回答我补充一下:
对于表达式的值:i++和++i是不一样的;
比如,m=i++;是把原i的值先赋给m,表达式的值是原i的值。
m=++i;是把i+1的值赋给m.
i--和--i同理。
有错请纠正,谢谢