a++ 和 ++a 的区别
1、计算结果的不同,前者的结果跟程序执行过程有关,有可能是加上1,有可能不加1,而后者的结果是a加上1;
2、计算过程不同,前者计算过程是先执行a,之后在增加1,后者计算过程是先加上1,之后再执行a。
例题
int a = 100; 最开始时a是100。
打印 a++; 这个printf会打印a++的值,注意是a++表达式的值,看我前面的讲解,a++的值就是a的值,也就是100。 别忘了这语句结束后a的值就会自增1(也就是副作用发生了)。
打印 ++a; 目前a的值为101。现在要打印++a表达式的值,++a的值就等于a+1,所以会打印出102。 此语句后a=101+1=102。
打印 --a; 这次要打印--a表达式的值,同自增一个道理,--a的值等于a-1,所以会打印出101。 此语句后a=102-1=101。
打印 a--; a--表达式的值就是a的值,所以打印出101。 此语句后a=101-1=100。
打印 a+1; 这表达式与自增无关,只是打印a+1的值,就是101。 对a本身的值没有影响(加法表达式没有副作用)。
打印 a; 这时a的值当然还是100了。
推荐教程:《PHP教程》
以上就是a++ 和 ++a 的区别的详细内容,更多请关注Work网其它相关文章!