前言:
c語言中很多地方都會用自加(++)、自減(--)運算子來參與一些運算,這也是c語言的主要特色之一, 如果可以掌握並合理的利用這一特性,可以優化我們的c程式。 而自加自減也是對於剛接觸c語言程式設計的人來說,比較難想通,很容易造成錯誤,可是考試的卷子也經常出現類似的題目。
自增自減的定義
自增++:使變數的值加1
自減--:使變數的值減1
++、-- 單目運算子,結合方向從右至左,優先順序為2
自增包含:前置自增和後置自增
前置自增(++i):會先使用原來的變數值參與運算,然後再+1
後置自增(i++):會先使變數的值+1,之後在參與運算。
例子:
細看:a的初始化值為5,a++根據含義是先賦值在+1,所以第一次輸出a++的值其實是a的值,再次輸出的是運算後的值6。
b的初始值為5,++b的含義是先++在賦值,所以第一次輸出++b的值就是變數+1後的值,再次輸出b的值就是變化後的值。
自減包含:前置自減和後置自減
前減自增(--i):會先使用原來的變數值參與運算,然後再-1
後減自增(i--):會先使變數的值-1,之後在參與運算。
例子:
細看:a的初始化值為5,a--根據含義是先賦值在-1,所以第一次輸出a--的值其實是a的值,再次輸出的是運算後的值6。
b的初始值為5,--b的含義是先--在賦值,所以第一次輸出--b的值就是變數-1後的值,再次輸出b的值就是變化後的值。
自增自減運算:自增自減運算子自能用於變數,不能用於常量或者表示式
i+++j??? 是i+(++j) 還是 (i++)+j呢?
注:為避免二義性,自增自減參與運算的時候要加括號括起來。
給大家一帶思考題???
對於這個問題是對於不同的編譯器的解析會有所不同,歡迎討論。
指標自加自減運算
指標的自加自減運算不同於普通變數,並非簡單的加1減1。舉例 include include 指標自加自減運算 written by chen gengru updated on 2019 1 2 void main 結果 基本整形變數i在記憶體中佔4個位元組,指標ipointer是指向變數i的位址的...
C 自加 自減(補充)
main.cpp 記錄 自加 自減 補充 created by t.p on 2018 3 7.include using namespace std int main int val 5 cout vs2017 xcode c 程式設計 第4版 鄭莉,課件解釋 最後一句的輸出結果4,5,4,5,這...
指標的自加自減運算( , )
陣列名代表陣列的首位址,是指標常量,不能進行自加自減運算。void main p a printf s t p 1 p是指向指標的指標,p指向a 0 one p 1指向第二個字母n printf s t p 1 p 1指向a 1 輸出two printf c t p one 的第乙個字母 o pri...