Table of Contents
除了前面文章講解的邏輯運算符/三目運算符/逗號表達式,C
語言中自加++
/自減--
運算符也是開發中使用比較頻繁的一種運算符;在實際編寫中,尤其對初學者或者很久沒接觸它的,會對它的原理和運算結果產生混淆,接下來做詳細辨析。
一.C語言自加++
/自減--
運算符簡介
C語言自加++
/自減--
運算符實際就是對變量本身做+1
或者-1
操作,例如:
/************************************************************************/
/*@文件名 : i++.cpp
/*@日 期 : 2020/5/9 21:52
/*@作 者 : 猿說編程
/*@公衆號 : 猿說編程
/*@博客 : www.shuopython.com
/*@描述 : C語言教程 - 自增/自減運算符(i++/++i/--i/i--)
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
printf("a = %d b = %d c = %d d = %d \n", a,b,c,d);
a++; //等價 a = a + 1
++b; //等價 b = b + 1
c--; //等價 c = c - 1
--d; //等價 d = d - 1
printf("a = %d b = %d c = %d d = %d \n", a, b, c, d);
system("pause");
return 0;
}
輸出結果:
a = 0 b = 0 c = 0 d = 0
a = 1 b = 1 c = -1 d = -1
請按任意鍵繼續. . .
可能看到這裏不少小夥伴有個疑問?++
a 和 a++
計算結果都是1
,前++
後++
兩者有什麼區別??
前++
後++
的區別:
無論前++
,後++
,最後都會自增1
,區別在於是先自增在參與運算,還是先參與運算再加1
操作(自減與自增類似)。
前++
:先進行++
操作,再參與運算。
後++
:先參與運算,再進行++
操作。
前--
後--
的區別:
無論前--
,後--
,最後都會自減1
,區別在於是先自減在參與運算,還是先參與運算再減1
操作(自減與自增類似)。
前--
:先進行--
操作,再參與運算。
後--
:先參與運算,再進行--
操作。
二.C語言自加++
/自減--
運算符實戰
/************************************************************************/
/*@文件名 : i++.cpp
/*@日 期 : 2020/5/9 21:52
/*@作 者 : 猿說編程
/*@公衆號 : 猿說編程
/*@博客 : www.shuopython.com
/*@描述 : C語言教程 - 自增/自減運算符(i++/++i/--i/i--)
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int i = 0;
int j = 0;
printf("a = %d b = %d c = %d d = %d i = %d j = %d \n", a, b, c, d, i, j);
i = a++; // 後++:先參與運算,i = a,在執行加1操作 a = a + 1
j = ++b; // 前++:先執行加1操作 b = b + 1,參與運算,j = 1
printf("a = %d b = %d i = %d j = %d \n", a, b, i, j);
i = c--; // 後--:先參與運算,i = c,在執行減1操作 c = c - 1
j = --d; // 前--:先執行加1操作 d = d - 1,參與運算,j = -1
printf("c = %d d = %d i = %d j = %d \n", c, d, i, j);
system("pause");
return 0;
}
輸出結果:
a = 0 b = 0 c = 0 d = 0 i = 0 j = 0
a = 1 b = 1 i = 0 j = 1
c = -1 d = -1 i = 0 j = -1
請按任意鍵繼續. . .
需要重點說明的是:++
/--
在變量前面和後面是有區別的,以++
自增運算符爲例:
++
在前面叫做前自增(例如: ++a
),前自增先進行自增運算,再進行其他操作;
++
在後面叫做後自增(例如: a++
),後自增先進行其他操作,再進行自增運算;
猜你喜歡:
5.徹底卸載 Visual Studio 2013/2015
轉載請註明:猿說編程 » C語言教程 » C語言自加自減運算符(++i和i++)
技術交流、商務合作請直接聯繫博主
掃碼或搜索:猿說編程
猿說編程
微信公衆號 掃一掃關注