The difference between these two forms appears when the increment and/or decrement operators are part of a larger expression. In the prefix form, the operand is incremented or decremented before the value is used in the expression. In postfix form, the value is used in the expression, and then the operand is modified.

The following table summarizes the difference between Pre-and Post- Increment and Decrement Operations:

Initial Value of x Expression Final Value of y Final Value of x

5 y = x++ 5 6

5 y = ++x 6 6

5 y = x-- 5 4

5 y = --x 4 4

For example:

x = 42;

y = ++x;

y is set to 43, because the increment occurs before x is assigned to y. Thus, the line

y = ++x;

is the equivalent of these two statements:

x = x + 1;

y = x;

However, when written like this,

x = 42;

y = x++;

the value of x is obtained before the increment operator is executed, so the value of y is 42.

In both cases x is set to 43. The line

y = x++;

is the equivalent of these two statements:

y = x;

x = x + 1;