對於自加自減的理解

2021-09-14 02:19:50 字數 1367 閱讀 2124

前言:   

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...