-- (減分) 演算子は、スカラー・オペランドの値から 1 を減算します。 または、オペランドがポインターの場合、オペランドを、 それが指しているオブジェクトのサイズの分だけ、減じます。 オペランドは、減分演算の結果を受け取ります。オペランドは、変更可能な左辺値でなければなりません。
減分演算子は、オペランドの前後に -- を入れることができます。この演算子が オペランドの前にあると、オペランドを減分し、減らした値が式で使われます。 -- がオペランドの後にある場合は、オペランドの現行値が式で使われ、 その後でオペランドが減らされます。
次に例を示します。
play = --play1 + play2--;
これは、以下の式に似ています。play2 は play の前で変更されます。
int temp, temp1, temp2; temp1 = play1 - 1; temp2 = play2; play1 = temp1; temp = temp1 + temp2; play2 = play2 - 1; play = temp;
その結果には、オペランドと同じ型が指定されます (可能な整数拡張の場合を除く) が、左辺値ではありません。
オペランドには、通常の算術変換が実行されます。
関連参照