自增和自減運算子

2021-10-24 01:47:05 字數 1305 閱讀 8881

c語言提供自增運算子「++」和自減運算子「--」,這兩個運算子在c語言程式設計中大量使用,而且使用非常靈活,需要重點理解。首先,我們來總結這兩個運算子使用的規則:

(1) 自增運算子「++」是對變數的值增加1;

(2) 自減運算子「--」是對變數的值減掉1;

(3) 參與自增運算子的變數,可以在前和在後,例如有變數 int i; 可以有i++和++i這樣的表示式,這兩種表示式都會使變數i的值增加1;而且 i++表示式返回i變數自增之前的值;++i表示式是返回i變數自增之後的值。

例如有:

int i1 = 6;

int i2 = 6;

int a1 = i1++;

int a2 = ++i2;

那麼,a1變數的值是變數i1自增之前的值,所以,a1變數的值是6數值;變數a2的值是變數i2自增之後的值,所以,a2變數的值是7數值。

所以,i1++ 是乙個表示式,如同 1 + 2 是乙個算術表示式,那麼,1 + 2 算術表示式的值是3;而 i1++ 也是乙個表示式,它的表示式值是i1變化自增之前的值。對應++i2也是乙個表示式,表示式是值是i2自增之後的值。

對於自減運算子「--」也可以新增在變數的前面和後面,例如:

int i1 = 6;

int i2 = 6;

int a1 = i1--;

int a2 = --i2;

那麼,執行i1--和--i2都會使變數的值減掉1。而且,i1--表示式是值,是i1變數自減1之前的值,所以,a1變數的值為6,--i2表示式的值,是i2變數自減之後的值,所以,a2變數的值為5。如下是測試例子:

執行結果如下:

可以看到:

(1) a1++使a1變數的值自增1,所以,a1變數的值從6變成了7;a2--使變數的值自減1,所以,a2變數的值從6變成了5;

(2) b1++和++b2都會使變數的值自增1,所以,b1和b2的值都變成了7;c1得到的是b1自增之前的值,所以c1變數的值是6;c2是b2自增之後的值,所以c2變數的值是7;

(3) d1--和--d2都會使變數的值自減1,所以,d1和d2的值都變成了5;e1得到的是d1自減1之前的值,所以,e1變數的值是6;e2得到是d2自減之後的值,所以,e2變數的值是5。

自增和自減運算子

自增和自減運算子 在c語言中有許多運算子,邏輯運算,賦值運算,關係運算 其中最難理解的莫過於自增 和自減 運算了。自增 自減 有兩種方式,下面分別進行分析。1 在前。i i 其用法是在整個表示式運算之前先進行自增 自減 運算,然後再進行表示式運算。例如進行如下計算 intx y x 8 y x 執行...

運算子和自增自減

in 字串和數字 號會轉換成字串 除了 號 其餘運算子都會把字串轉換成數字 所以字串轉換成數字的技巧可以讓字串減乘除 var c 10 c c 0 in 可以通過該運算子檢查物件中是否含有指定屬性,有為真,無為假 var a new object a.name wukong a name 77889...

自增自減運算子

自增自減運算子 i 先使用i,然後i i 1 i 先使用i,然後i i 1 i 先i i 1然後使用i i 先i i 1 然後使用i 以下使用vc下除錯的結果,不同的編譯器可能有不同的結果。i 3 例1printf d i 結果輸出4 例2printf d i 結果輸出3 例3printf resu...