Još malo o podacima, operatorima, ...
3. Inkrement i dekrement
3.1. Zadaci za vježbu
Zadatak 1.
Ako je vrijednost varijable a = 12, koje će biti vrijednosti varijabli a i b nakon izračunavanja izraza:
a) b = a++;b) b = ++a;
Rješenje
a) a = 13, b = 12, zato što se prvo izvršava b=a;, a tek onda a++;b) a = 13, b = 13, zato što se prvo izvršava ++a;, a tek onda b=a;
Koje vrijednosti poprimaju varijable x i y tijekom izvršavanja niza naredbi?
y = 1;
x = ++y + 2;
y = 1;
x = (y++) + 2;
Rješenje
y = 1;x = ++y + 2; → obzirom da je ++ ispred varijable y prvo se y povećava za 1 pa je y=2, nakon toga uvećana vrijednost y koristi se u izrazu pa je x= 4
y = 1;
x = (y++) + 2; → obzirom da je ++ iza varijable y prvo se početna vrijednost y koristi u izrazu pa je x=1+2=3, a tek onda se y povećava za 1 pa je y=2
Zadatak 3.
Koji od navedenih izraza nije ispravan?
a) x++;b) x = (z + y)++;
c) x = (y++) - 2;
d) x = 12.54++;
e) x = ++y - 2;
Rješenje
Nije ispravno napisano:
b) jer primjenjuje se inkrement na izraz i
d) jer primjenjuje se inkrement na konstantu.