大连市工会干部学校:C++中的 增量问题

来源:百度文库 编辑:高校问答 时间:2024/05/08 00:30:54
a++ 和 ++a 有何区别 ???

记住所有的操作都是对这个语句执行前还是这个语句执行完后的不同。
++a是++先与语句表达式执行。就是先执行++,再执行这个语句。这样参与计算的是a加了以后的。
a++是后于语句表达式执行。就是执行语句完后才++。当时参与计算的还是a本身,没有++。
再分析一下上面的结果吧。呵呵。

a++是前用a的值再+1
++a是a先加1再用
根本区别就是:a++在使用后加1。++a在使用前加1

如果是单纯的a++和++a,则没有区别。
但和其它语句和在一起,就可能有区别。
比如
a = 1
if ((a++) == 1)
返回真,a要在下一个语句中才会变成2。

a = 1
if ((++a) == 1)
返回假,因为2!=1

a++是前取a的值在+1
++a是先+1在去结果