複製鏈接
請複製以下鏈接發送給好友

遞減運算符

鎖定
C語言中有兩種非常有用的運算符++和--,分別稱為遞增和遞減運算符,對變量執行加1或減1操作,且運算結果仍賦給該變量。遞增、遞減運算符和負號一樣都是單目運算符,統稱單項算術運算符,如表所示:
中文名
遞減運算符
所屬領域
計算機
C語言中的遞增、遞減運算符
運算符
名稱
示例
等價表達式
++
遞增
i++或++i
i=i+1
--
遞減
i--或--i
i=i-1
++和--既可寫在變量之前,稱為前置運算,如:++a;--a;++和--也可以寫在變量之後,稱為後置運算,如:a++;a--。
單獨一個變量實行前置運算或後置運算,其結果是相同的,都是使該變量的值增加或減少1然而,當它們用在表達式中,其效果就不同了。當遞增或遞減運算符放在其運算變量前面進行前置運算時,C語言在使用該變量之前進行遞增或遞減操作;如果運算符在運算變量的後面進行後置運算,那麼,C語言在使用運算變量的值之後執行遞增或遞減運算。
分析以下程序的輸出結果。
#include <stdio.h>
void main()
{
int i1=2,i2=2,j1,j2;
j1=i1++;j2=++i2; /*①*/
printf("%d%d\n",j1,j2); /*②*/
printf("%d%d",i1++,++i2); /*③*/
}
輸出結果是:
2,3,3,4
解:執行語句①之後,j1的值為2(因為i1++先返回i1的值,再將i1增1),j2的值為3(因為++i2將i2先增1後返回i2的值),i1和i2的值均為3。執行語句②輸出2和3。執行語句③時,輸出3和4。
注意:++和--運算符和單目負號運算符屬於同一優先級,也就是説比*、/、%都要高,同樣是按從右到左結合的。如-i++相當於-(i++)。 [1] 
參考資料
  • 1.    清華大學出版社《二級C語言學與練》