C语言复合赋值运算符
在C语言的赋值中有一种特殊的赋值运算符,就是复合赋值运算符。下面是关于C语言复合赋值运算符的相关介绍!
复合赋值运算符就是在赋值符“=”之前加上其它二目运算符可构成。比如大家可能最常看到这样的'语句:
n += 5;
这个语句相当于:
n = n + 5;
C语言中有如下的复合赋值运算符:
n += a; 相当于n = n + a;
n -= a; 相当于n = n - a;
n *= a; 相当于n = n * a;
n /= a; 相当于n = n / a;
n %= a; 相当于n = n % a;
n <<= a; 相当于n = n << a;
n >>= a; 相当于n = n >> a;
n &= a; 相当于n = n & a;
n ^= a; 相当于n = n ^ a;
n |= a; 相当于n = n | a;
注意:如果右边不只是一个变量而是一个表达式,则需要看成一个整体.
比如:
n /= a * b + c >> d 相当于 n = n / (a * b +c >> d),右边作为一个整体加括号。
即使是有同样优先级的也需要,请看下面的情况:
int n = 3;
int m = 13;
n *= 12 / m;
如果不加括号而是直接写成另外一种:n = n * 12 / m,显然这个计算结果大于0,而上面的为0。
复合运算要注意以下:
复合运算符左边必须是变量;
复合运算符右边的表达式计算完成后才参与复合赋值运算。复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。
复合赋值运算的优先级符合C语言运算符的优先级表,结合方向为从右到左。
【C语言复合赋值运算符】相关文章:
3.c语言算术运算符
4.C语言条件运算符
5.C语言关系运算符
6.C语言中的运算符