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).