Inkrement i dekrement

Postoje operatori u programskom jeziku "C" koji se ne nalaze u udžebnicima za matematiku. Neki od njih se koriste dosta često kada treba neku promenljivu povećati ili smanjiti za jedan. Ovo se često radi u slučaju brojanja nečega. Npr:

int BrojOvaca;
BrojOvaca = 0;

Kada želite da brojite ovce (pospani ste npr) - svaki put kada pomislite na sledeću ovcu, želite da se ova promenljiva uveća za 1 - pojam koji se za to koristi je inkrement:

BrojOvaca = BrojOvaca + 1;

 

Umesto ovakvog izraza, koristimo + + (plus plus) operator. Prethodni izraz se piše na kraći način:

BrojOvaca++;

Slično tome, možete da smanjite vrednost neke izabrane promenljive. Npr, ako ne možete da dočekate raspust, svakog jutra u glavi izvršavate sledeću operaciju:

DanaDoRaspusta = DanaDoRaspusta - 1;


Ovo možemo da napišemo na kraći način:

DanaDoRaspusta--;

 

"++" se naziva inkrement operator.


"--" se naziva dekrement operator.

U prethodnim primerima je pokazana upotreba ovih operatora kada se postave nakon promenljive (tada kažemo da je u pitanju postfiks operator). Međutim, ovi operatori mogu da se koriste i ako se postave ispred promenljive (kao prefiks operatori), kao na primer:

++BrojOvaca;

--DanaDoRaspusta;


U čemu je razlika kod korišćenja pre i posle promenljive nekog od ovih operatora?

 

Operacija:

 

++Variable

--Variable

 

Efekat:

Prvo povećaj/smanji promenljivu i onda radi sa njom


Operacija:

Variable++
Variable--

Efekat:

Prvo upotrebi nepromenjenu promenljivu, a posle toga joj povećaj/smanji vrednost.

 

Promenljiva++ post-increment operator

++Promenljiva pre-increment operator

Promenljiva--  post-decrement operator

--Promenljiva  pre-decrement operator