Programiranje u C-u

  

PREFIX/POSTFIX INKREMENT/DEKREMENT OPERATORI
PREFIX znači da se prvo obavi operacija inkrementa/dekrementa, a zatim nekakva operacija pridruživanja. POSTFIX  znači da se operacija vrši nakon pridruživanja. Pogledajmo slijedeće izraze

        ++count;         /* PREFIX Inkrement, znači povećaj count za jedan*/

        count++;         /* POSTFIX Inkrement, znači povećaj count za jedan */
U gornjem primjeru, zato što se vrijednost varijable count ne pridružuje nijednoj varijabli, učinak PREFIX/POSTFIX  operacija nije jasno vidljiv.

Ispitajmo što se događa kada koristimo operator zajedno s operacijom pridruživanja. Pogledajmo slijedeći program,

        #include <stdio.h>

        main()
        {
                int count = 0, loop;
                loop = ++count;  /* isto kao count = count + 1; loop = count;  */
                printf("loop = %d, count = %d\n", loop, count);

                loop = count++;  /* isto kao loop = count;  count = count + 1;  */
                printf("loop = %d, count = %d\n", loop, count);

        }





        Ispis programa

        loop = 1, count = 1

        loop = 1; count = 2
Ako operator prethodi (ako je s lijeve strane) varijabli,  operacija se izvodi prva, tako izraz
        loop = ++count;
ustvari znači inkrementiraj prvo count , a onda novu vrijednost varijable count pridruži varijabli loop.

Kako ćete pisati?
Tamo gdje se inkrement/dekrement operacija koristi za promjenu vrijednosti varijable, i nije uključena ni u kakvu operaciju pridruživanja, što ćete koristiti,

        ++loop_count;

ili

        loop_count++;
Odgovor je da u stvari nije bitno. Čini se da većina C programera koristi postfix formu.

Na što morate pripaziti
Nemojte da vam uđe u naviku koristiti razmak(e) između imena varijable i  prefix/postfix operatora.

        loop_count ++;
Pokušajte povezati operator ne koristeći praznine.

©Copyright B Brown. 1984-1998. All rights reserved.