C語言復(fù)合賦值運(yùn)算符
在C語言的賦值中有一種特殊的賦值運(yùn)算符,就是復(fù)合賦值運(yùn)算符。下面是關(guān)于C語言復(fù)合賦值運(yùn)算符的相關(guān)介紹!
復(fù)合賦值運(yùn)算符就是在賦值符“=”之前加上其它二目運(yùn)算符可構(gòu)成。比如大家可能最?吹竭@樣的'語句:
n += 5;
這個語句相當(dāng)于:
n = n + 5;
C語言中有如下的復(fù)合賦值運(yùn)算符:
n += a; 相當(dāng)于n = n + a;
n -= a; 相當(dāng)于n = n - a;
n *= a; 相當(dāng)于n = n * a;
n /= a; 相當(dāng)于n = n / a;
n %= a; 相當(dāng)于n = n % a;
n <<= a; 相當(dāng)于n = n << a;
n >>= a; 相當(dāng)于n = n >> a;
n &= a; 相當(dāng)于n = n & a;
n ^= a; 相當(dāng)于n = n ^ a;
n |= a; 相當(dāng)于n = n | a;
注意:如果右邊不只是一個變量而是一個表達(dá)式,則需要看成一個整體.
比如:
n /= a * b + c >> d 相當(dāng)于 n = n / (a * b +c >> d),右邊作為一個整體加括號。
即使是有同樣優(yōu)先級的也需要,請看下面的情況:
int n = 3;
int m = 13;
n *= 12 / m;
如果不加括號而是直接寫成另外一種:n = n * 12 / m,顯然這個計算結(jié)果大于0,而上面的為0。
復(fù)合運(yùn)算要注意以下:
復(fù)合運(yùn)算符左邊必須是變量;
復(fù)合運(yùn)算符右邊的表達(dá)式計算完成后才參與復(fù)合賦值運(yùn)算。復(fù)合運(yùn)算符常用于某個變量自身的變化,尤其當(dāng)左邊的變量名很長時,使用復(fù)合運(yùn)算符書寫更方便。
復(fù)合賦值運(yùn)算的優(yōu)先級符合C語言運(yùn)算符的優(yōu)先級表,結(jié)合方向為從右到左。
【C語言復(fù)合賦值運(yùn)算符】相關(guān)文章: