i++是i的自增
i=i++,是先把i赋给i,再自增
i=++i,而是先自增,再把i赋给i,两者的影响在循环结束后结果差别很大如下:
int i=5,m;
m=(i++)+(i++);
相当于
i=5+1+1=7
m=5+6=11
如果你改成m=(++i)+(i++);
则m=6+6=12,i还是7
如果你改成m=(++i)+(++i);
则m=6+7=13,i还是7
如果你改成m=(i++)+(++i);
则m=5+7=12,i还是7
想了解透彻些的话建议看看这篇博客
http://blog.csdn.net/junsure2012/article/details/7099222 |