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;


Zadatak 2.

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.