Monday, May 16, 2011

What is the difference between ++var and var++?


The ++ operator is called the increment operator. When the operator is placed before the variable (++var),
the variable is incremented by 1 before it is used in the expression. When the operator is placed after the
variable (var++), the expression is evaluated, and then the variable is incremented by 1. The same holds true
for the decrement operator (--). When the operator is placed before the variable, you are said to have a prefix
operation. When the operator is placed after the variable, you are said to have a postfix operation.
For instance, consider the following example of postfix incrementation:
int x, y;
x = 1;
y = (x++ * 5);
In this example, postfix incrementation is used, and x is not incremented until after the evaluation of the
expression is done. Therefore, y evaluates to 1 times 5, or 5. After the evaluation, x is incremented to 2.
Now look at an example using prefix incrementation:
int x, y;
x = 1;
y = (++x * 5);
This example is the same as the first one, except that this example uses prefix incrementation rather than
postfix. Therefore, x is incremented before the expression is evaluated, making it 2. Hence, y evaluates to
2 times 5, or 10.