前自加(++a)与后自加(a++)的差别
自加是自己加1的操作。比如a++ 是a+1 ,变量a变成了 a+1的值。
如果是简单的只做 a++;或者++a的语句,效果是一样的。
但是如果嵌入到复杂的语句中,比如 b = a++; 和 b = ++a; b的值是不一样的。
先理解a++, a自增,再得到a的值。
再理解++a,a先不变,再自增,再得到a的值。
所以能够明白,如果a的初始值为5;
b=a++, b的最终值是5,b不关心a本身做了什么。a的值变成了6.
而b=++a, b是做了两个运算,++ 和 = ,所以b为6, 而a 也做了一次运算++,所以a也为6.
这样就能理解其他的复杂运算。
可以简单记着 如果是 a++可以把它值当成a,只有a改变,调用它的值当时不改变。
作者:issta hu
出处:http://www.cnblogs.com/hcu5555/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。