Loose-Info.com
Last Update 2012/07/05
TOP - C言語 - 演算子 - 代入演算子

代入演算子"="は、右辺値を左辺値に代入します。
"演算子" + "=" の形式をとる代入演算子は、演算の対象となる右辺の変数を a、左辺の値を b とした場合、

a "演算子"= b

と記述されるものは

a = a "演算子" b

と記述したものと同様の結果となります。

(例)
#include <stdio.h> int main() { int n = 0; printf("初期値 n : 0\n"); n = 5; printf("n = 5 実行後 → n : %d\n", n); printf("\n"); n = 5; printf("初期値 n : 5\n"); n *= 3; printf("n *= 3 実行後 → n : %d\n", n); printf("\n"); n = 10; printf("初期値 n : 10\n"); n /= 2; printf("n /= 2 実行後 → n : %d\n", n); printf("\n"); n = 20; printf("初期値 n : 20\n"); n %= 7; printf("n %%= 7 実行後 → n : %d\n", n); printf("\n"); n = 5; printf("初期値 n : 5\n"); n += 3; printf("n += 3 実行後 → n : %d\n", n); printf("\n"); n = 5; printf("初期値 n : 5\n"); n -= 3; printf("n -= 3 実行後 → n : %d\n", n); printf("\n"); n = 4; printf("初期値 n : 4\n"); n <<= 1; printf("n <<= 1 実行後 → n : %d\n", n); printf("\n"); n = 4; printf("初期値 n : 4\n"); n >>= 1; printf("n >>= 1 実行後 → n : %d\n", n); printf("\n"); n = 2; printf("初期値 n : 2\n"); n &= 2; printf("n &= 2 実行後 → n : %d\n", n); printf("\n"); n = 7; printf("初期値 n : 7\n"); n ^= 3; printf("n ^= 3 実行後 → n : %d\n", n); printf("\n"); n = 3; printf("初期値 n : 3\n"); n |= 4; printf("n |= 4 実行後 → n : %d\n", n); printf("\n"); return 0; }

実行結果
初期値 n : 0 n = 5 実行後 → n : 5 初期値 n : 5 n *= 3 実行後 → n : 15 初期値 n : 10 n /= 2 実行後 → n : 5 初期値 n : 20 n %= 7 実行後 → n : 6 初期値 n : 5 n += 3 実行後 → n : 8 初期値 n : 5 n -= 3 実行後 → n : 2 初期値 n : 4 n <<= 1 実行後 → n : 8 初期値 n : 4 n >>= 1 実行後 → n : 2 初期値 n : 2 n &= 2 実行後 → n : 2 初期値 n : 7 n ^= 3 実行後 → n : 4 初期値 n : 3 n |= 4 実行後 → n : 7