File: Stare vježbe/vjezbe06/37__po_vrijednosti.c
/* 37__po_vrijednosti.c Funkcije parametre primaju po vrijednosti, tj. promjena vrijednosti parametra funkcije unutar tijela funkcije ne utjece na vrijednost kod pozivatelja. ----- Program sadrzi funkciju swap cija bi uloga trebala biti zamjena vrijednosti njezinih dvaju parametara. Medjutim pri pozivu swap (x, y) dogadja se slijedece: (1) "stvore" se 2 nova int-a a i b (2) a=x; b=y; (3) zamijene se vrijednosti od a i b (a ne od x i y !!!) (4) "uniste" se int-ovi a i b Ukupni je efekt da x i y (to su u donjem programu a i b iz main-a) ostaju nepromijenjeni nakon poziva funkcije. */ #include <stdio.h> void swap ( int a, int b ) { int temp; temp=a; a=b; b=temp; printf ("Unutar funkcije swap: a=%d b=%d\n", a, b ); } int main () { int a=17, b=23; printf ("Prije poziva funkcije swap: a=%d b=%d\n", a, b ); swap (a, b); printf ("Nakon poziva funkcije swap: a=%d b=%d\n", a, b ); return 0; }
|