糯米文學吧

位置:首頁 > 計算機 > C語言

C語言複合賦值運算符

C語言2.43W

在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語言運算符的優先級表,結合方向為從右到左。