15.C語言自加自減運算符(++i/i++)

Table of Contents

一.C語言自加++/自減--運算符簡介

二.C語言自加++/自減--運算符實戰

 


除了前面文章講解的邏輯運算符/三目運算符/逗號表達式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++),後自增先進行其他操作,再進行自增運算;

 

 

 

猜你喜歡:

1.安裝 Visual Studio 2015

2.C語言邏輯運算符

3.C語言三目運算符

4.徹底卸載 Visual Studio 2008

5.徹底卸載 Visual Studio 2013/2015

 

轉載請註明猿說編程 » C語言教程 » C語言自加自減運算符(++i和i++)



                                                                          技術交流、商務合作請直接聯繫博主

                                                                                  掃碼或搜索:猿說編程

python/C++教程

                                                                                             猿說編程

                                                                             微信公衆號 掃一掃關注

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章