自增自减运算符

很多初学者容易在这里被“前缀”和“后缀”绕晕,

一、 基本符号与含义

自增自减属于单目运算符(只需要一个变量就能完成计算),其作用是直接修改变量自身的值。

运算符 含义说明 相当于
++ 变量中的值 +1 a = a + 1;
-- 变量中的值 -1 a = a - 1;

二、 核心语法规则:独立成行

📌 金牌铁律:++-- 既可以放在变量的前边,也可以放在变量的后边。如果它们【单独写一行】,运算结果是完全一样的。

课件案例深度拆解

我们来看最后一张图的经典代码流,追踪变量 a 在内存中每一步的变化:

1
2
3
4
5
6
7
8
int a = 10;      // 初始状态:a 的值是 10

a++; // 步骤 1:后缀自增,a 自身加 1。此时 a 变成 11
++a; // 步骤 2:前缀自增,a 自身加 1。此时 a 变成 12
a--; // 步骤 3:后缀自减,a 自身减 1。此时 a 变成 11
--a; // 步骤 4:前缀自减,a 自身减 1。此时 a 变成 10

printf("%d\n", a); // 最终打印结果:10
  • 为什么最终是 10? 因为每一次它都是单独一行出现,无论是 a++ 还是 ++a,都在这一行执行完毕后,切切实实地让变量本身完成了加减。两次自增(+2)加上两次自减(-2),刚好抵消,回归原点。

两句通俗的“顺口溜”:

  1. 前缀形式(如 ++a“先加后用”。先让变量自己加 1,然后再拿这个新值去参与别的运算。
  2. 后缀形式(如 a++“先用后加”。先拿变量现在的老值去参与别的运算,等这一行代码全部彻底执行完了,变量自己再默默加 1。