您好,登錄后才能下訂單哦!
a++ 和 ++a 的區(qū)別
1、計算結果的不同,前者的結果跟程序執(zhí)行過程有關,有可能是加上1,有可能不加1,而后者的結果是a加上1;
2、計算過程不同,前者計算過程是先執(zhí)行a,之后在增加1,后者計算過程是先加上1,之后再執(zhí)行a。
例題
int a = 100; 最開始時a是100。
打印 a++; 這個printf會打印a++的值,注意是a++表達式的值,看我前面的講解,a++的值就是a的值,也就是100。 別忘了這語句結束后a的值就會自增1(也就是副作用發(fā)生了)。
打印 ++a; 目前a的值為101?,F在要打印++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了。
以上就是a++ 和 ++a 的區(qū)別的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。