跳转至

复合赋值和递增递减

赋值也是运算

赋值 = 也是运算,也有结果

int a;
a = 6;           // 这个表达式的结果就是 6
a = b = 6;       // 等价于 a = (b = 6),先把6赋给b,再把结果6赋给a

复合赋值运算符

运算符 等价于
a += b a = a + b
a -= b a = a - b
a *= b a = a * b
a /= b a = a / b
a %= b a = a % b
int x = 10;
x += 5;      // x = 15(等价于 x = x + 5)
x *= 2;      // x = 30(等价于 x = x * 2)

递增递减运算符

写法 含义
i++ 先用 i 的值,再让 i 加 1
++i 先让 i 加 1,再用 i 的值
i-- 先用 i 的值,再让 i 减 1
--i 先让 i 减 1,再用 i 的值
int i = 5;
int a = i++;      // a=5, i=6  (先用再加)
int b = ++i;      // i=7, b=7  (先加再用)

for 循环中的经典用法

for (int i = 0; i < 10; i++) {    // i++ 每次循环加 1
    printf("%d\n", i);
}