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


Copyright(C) 2006-2012 CLAYPOT. All Rights Reserved.