2.5. More operators

The last loop example showed an operator which was not yet introduced, namely ++. Its effect is to increment its operand, f in the example, by 1. Similarly, f-- would decrease f by 1.

The increment and decrement operators can be used in a postfix notation, as in the example, or a prefix notation, as in --f. The difference between these notations is the value returned by the expression. The postfix notation returns the value of the variable before the modification; in prefix notation, the value of the expression the new value of the variable.

Given the fact that the value of a compound expression is the value of the last expression contained in the compound, f++ is identical to


{
  int g = f;
  f = f + 1;
  g;
}

and --f equals


{
  f = f - 1;
}

The last kind of operators to be introduced are the modifying assignment operators. For example, f = f + x can be written as f += x. The same is true for every other binary operator. The precedence of these operators is equal to that of the normal assignment (they are the `etc' in Table 2-3).