File: Stare vježbe/vjezbe03/16__sloz_op_pridruzivanja.c
/* 16__sloz_op_pridruzivanja.c Operatori ++, --, +=, -=, *=, /=, %= */ #include <stdio.h> int main () { int a, b; /* a++ ili ++a --> a=a+1 a-- ili --a --> a=a-1 */ a=5; a++; b=16; --b; /* prefix forma: ++a --> vrijednost od a se prvo poveca za 1 i onda uvrsti u pripadni izraz */ a=5; b=++a; printf ("(3) a=%d b=%d\n", a, b ); /* postfix forma: a++ --> vrijednost od a se prvo uvrsti u pripadni izraz i tek onda uveca za 1 */ a=5; b=a++; printf ("(4) a=%d b=%d\n", a, b ); /* nemojte raditi ovo -- standard ne propisuje sto treba biti rezultat */ a=5; b=(++a)*(--a); /* a+=izraz --> a=a+(izraz) a-=izraz --> a=a-(izraz) a*=izraz --> a=a*(izraz) a/=izraz --> a=a/(izraz) a%=izraz --> a=a%(izraz) */ a=5; b=10; b*=a+b; /* operator pridruzivanja je desno asocijativan bin. operator koji vraca vrijednost izraza koji se pridruzuje a=b=17 -> (desna asoc) -> a=(b=17) vrijednost pridruzivanja (b=17) je 17 i to se upisuje u varijablu a */ a=b=17; printf ("(7) a=%d b=%d\n", a, b ); /* nemojte raditi ovo -- standard ne propisuje sto treba biti rezultat */ a=5; b=(a=a+2)*(a=a-1); printf ("(8) a=%d b=%d\n", a, b ); return 0; }
|