i++ najprv použije hodnotu i a potom i zvýši o jedna.
++i najprv zvýši hodnotu o jedna a až potom ju použije.
To isté s --, len sa hodnota o jednotku znižuje.
Preto:
Kód:
int i = 5, j = 1, k;
i++; // i je tu i = i + 1 = 5+1 = 6
j = ++i; // j je tu j = ++i, takze j = (i = i+1), takze j = 7;
k = --j + 2; // k je tu (j = j-1) + 2 = (7-1)+2 = 8;
k = 2 + (i++); // k je tu 2 + i = 2 + 7 = 9; i je ale po tejto operacii 8!
Nasledujúce sú pochopiteľné
Kód:
j += i; // to iste ako j = j + (i);
j *= i - 2; // to iste ako j = j * (i-2);
Pohraj sa s tým, skúšaj kadejaké kombinácie a vypisuj si, čo to robí.