Next: Postincrement/Postdecrement, Previous: Modifying Assignment, Up: Assignment Expressions [Contents][Index]
The operators ‘++’ and ‘--’ are the increment and decrement operators. When used on a numeric value, they add or subtract 1. We don’t consider them assignments, but they are equivalent to assignments.
Using ‘++’ or ‘--’ as a prefix, before an lvalue, is called preincrement or predecrement. This adds or subtracts 1 and the result becomes the expression’s value. For instance,
#include <stdio.h> /* Declares printf
. */
int
main (void)
{
int i = 5;
printf ("%d\n", i);
printf ("%d\n", ++i);
printf ("%d\n", i);
return 0;
}
prints lines containing 5, 6, and 6 again. The expression ++i
increments i
from 5 to 6, and has the value 6, so the output
from printf
on that line says ‘6’.
Using ‘--’ instead, for predecrement,
#include <stdio.h> /* Declares printf
. */
int
main (void)
{
int i = 5;
printf ("%d\n", i);
printf ("%d\n", --i);
printf ("%d\n", i);
return 0;
}
prints three lines that contain (respectively) ‘5’, ‘4’, and again ‘4’.