加减乘除运算的简写
有时候我们希望对一个变量进行某种运算,然后再把运算结果赋值给变量本身,请看下面的例子:
#include
int main()
{
int a = 12;
int b = 10;
printf("a=%d\n", a);
a = a + 8;
printf("a=%d\n", a);
a = a * b;
printf("a=%d\n", a);
return 0;
}
输出结果:
a=12
a=20
a=200
a = a + 8相当于用原来 a 的值(也即12)加上 8,再把运算结果(也即20)赋值给 a,此时 a 的值就变成了 20。
a = a * b相当于用原来 a 的值(也即20)乘以 b 的值(也即10),再把运算结果(也即200)赋值给 a,此时 a 的值就变成了 200。
以上的操作,可以理解为对变量本身进行某种运算。
在C语言中,对变量本身进行运算可以有简写形式。假设用 # 来表示某种运算符,那么
a = a # b
可以简写为:
a #= b
# 表示 +、-、*、/、% 中的任何一种运算符。
上例中a = a + 8可以简写为a += 8,a = a * b可以简写为a *= b。
下面的简写形式也是正确的:
int a = 10, b = 20;
a += 10; //相当于 a = a + 10;
a *= (b-10); //相当于 a = a * (b-10);
a -= (a+20); //相当于 a = a - (a+20);
注意:a #= b 仅是一种简写形式,不会影响程序的执行效率。

举报 0