复合赋值和递增递减
赋值也是运算
赋值 = 也是运算,也有结果:
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);
}