目錄
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
除了前面文章講解的邏輯運算符 / 三目運算符 / 逗號表達式,C 語言中自加 ++ / 自減 -- 運算符也是開發中使用比較頻繁的一種運算符;在實際編寫中,尤其對初學者或者很久沒接觸它的,會對它的原理和運算結果產生混淆,接下來做詳細辨析。
一.C 語言自加++ / 自減 -- 運算符簡介
C 語言自加 ++ / 自減 -- 運算符實際就是對變量本身做 +1 或者 -1 操作,例如:
/************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - 自增/自減運算符(i++/++i/--i/i--)
//@Time:2021/05/28 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/************************************************************************/
#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操作(自減與自增類似)。
- 前
++:先進行++操作,再參與運算。 - 后
++:先參與運算,再進行++操作。

2.前--后-- 的區別
無論前--,后--,最后都會自減1,區別在於是先自減在參與運算,還是先參與運算再減1操作(自減與自增類似)。
- 前
--:先進行--操作,再參與運算。 - 后
--:先參與運算,再進行--操作。

二.C 語言自加++/自減--運算符實戰
/************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - 自增/自減運算符(i++/++i/--i/i--)
//@Time:2021/05/28 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/************************************************************************/
#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++),后自增先進行其他操作,再進行自增運算;
三.猜你喜歡
- 安裝 Visual Studio
- 安裝 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸載
- Visual Studio 2003/2015 卸載
- 設置 Visual Studio 字體/背景/行號
- C 語言 Hello World
- C 語言代碼注釋
- C 語言數據類型 / 變量類型
- C 語言變量聲明和定義
- C 語言格式控制符/占位符
- C 語言 printf 函數
- C 語言條件判斷 if / else
- C 語言邏輯運算符
- C 語言三目運算符
- C 語言逗號表達式
- C 語言自加自減運算符(++i / i++)
未經允許不得轉載:猿說編程 » C 語言自加自減運算符(++i / i++)
本文由博客 - 猿說編程 猿說編程 發布!
