首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言自增(++)與自減(--)運算符前後綴差異詳解

     編輯:C 語言基礎

基本概念

a += 1 等價 a = a + 1;C 提供更簡潔寫法:a++ 或 ++a(自增),a-- 或 --a(自減)。

  • 只能用於**變量**,不能用於常量(10++ 錯誤)。
  • 自增/自減後,新值替換舊值並保存回變量。

前綴 vs 後綴:關鍵差異

形式名稱執行順序
++a前自增先自增,再參與其他運算
a++後自增先參與其他運算,再自增
--a前自減先自減,再參與其他運算
a--後自減先參與其他運算,再自減

代碼驗證

#include <stdio.h>
#include <stdlib.h>
int main() {
    int a=10, a1=++a;
    int b=20, b1=b++;
    int c=30, c1=--c;
    int d=40, d1=d--;
    printf("a=%d, a1=%d\n", a, a1);
    printf("b=%d, b1=%d\n", b, b1);
    printf("c=%d, c1=%d\n", c, c1);
    printf("d=%d, d1=%d\n", d, d1);
    system("pause");
    return 0;
}

輸出:
a=11, a1=11
b=21, b1=20
c=29, c1=29
d=39, d1=40

逐行分析

  • a1=++a:先 ++a → 11,賦值給 a1,a 也變 11。
  • b1=b++:先將 b 原值 20 賦給 b1,再 b 變 21。
  • c1=--c:先 --c → 29,賦值給 c1,c 也變 29。
  • d1=d--:先將 d 原值 40 賦給 d1,再 d 變 39。

綜合示例

#include <stdio.h>
#include <stdlib.h>
int main() {
    int a=12, b=1;
    int c = a - (b--);      // ①
    int d = (++a) - (--b);  // ②
    printf("c=%d, d=%d\n", c, d);
    system("pause");
    return 0;
}

輸出:
c=11, d=14

執行邏輯

  1. 語句 ①:先 a-b (12-1=11) → c,再 b-- → b 變 0。
  2. 語句 ②:a 先 ++a → 13;b 先 --b → -1;計算 13-(-1)=14 → d。
自增自減極常用,務必牢記前後綴差異,避免邏輯錯誤。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved