(前置・後置)デクリメント演算子, --
当ページのリンクには広告が含まれています。
スポンサーリンク
ここではデクリメント演算子を紹介します。
デクリメント演算子
デクリメント演算子は、「-」記号を2つ並べた「--」で表し、変数の値を1つ減らすという意味があります。
(前置・後置)デクリメント演算子
デクリメント演算子には次の2つの種類(使い方)があります。
演算子 | 名前 | 使い方 | |
---|---|---|---|
-- | 前置デクリメント演算子 | --i | 変数「i」の値を -1 |
-- | 後置デクリメント演算子 | i-- | 変数「i」の値を -1 |
具体例(サンプルプログラム)で、前置と後置の違いを確認しましょう。
前置デクリメント
まずは前置デクリメントのサンプルプログラムをみてみましょう。
#include <stdio.h> int main(void){ int x = 2; int y; /* 前置デクリメント */ y = --x; printf("x=%d, y=%d\n", x,y); return 0; }
実行結果は次のようになります。
x=1, y=1
後置デクリメント
次は後置デクリメントのサンプルプログラムをみてみましょう。
#include <stdio.h> int main(void){ int x = 2; int y; /* 後置デクリメント */ y = x--; printf("x=%d, y=%d\n", x,y); return 0; }
実行結果は次のようになります。
x=1, y=2
このように同じように見える数式ですが、結果が異なります!
それでは2つの結果を踏まえて、前置・後置デクリメント演算子の違いをみていきます。
演算子 | サンプルプログラム | 説明 |
---|---|---|
前置デクリメント | y = --x; | xの値をデクリメント(-1)し、yにxの値を代入 |
後置デクリメント | y = x--; | xの値をデクリメント(-1)するが、デクリメントする前のxの値をyに代入 |
このように演算結果が異なるので、デクリメント演算子を使って変数の値を代入する場合は注意しましょう。
次は「文字 - char型」についてみていきます。