Du finder resultater og forklaringer i denne kommenterede udgave af programmet:#include <stdio.h>
int main(void) {
int i = 3, j = 4, k = 5;
int res1, res2, res3;
i++; j--; ++k; /* i bliver talt op til 4.
j bliver talt ned til 3.
k bliver talt op til 6.
I denne sammenhæng kan vi frit vælge mellem
prefix og postfix increment/decrement. */
printf("i: %d, j: %d, k: %d\n", i,j,k); /* 4, 3, 6 */
res1 = --i; /* i er 4 før dette assignment. i tælles ned til 3.
Da prefix assignment benyttes bliver res1 værdien af i efter nedtælling, altså 3. */
res2 = j++; /* j er 3 før dette assignment. Denne værdi huskes. j tælles op og bliver 4.
Den huskede værdi, altså 3, assignes til res2 */
res3 = --k; /* k er 6 før dette assignment. k tælles ned til 5.
Da vi har et prefix decrement bliver res3 værdien af k efter nedtællingen, altså 5. */
printf("res1: %d, res2: %d, res3: %d\n", res1, res2, res3); /* 3, 3, 5 */
printf("i: %d, j: %d, k: %d\n", i,j,k); /* 3, 4, 5 */
return 0;
}