File: Stare vježbe/vjezbe06/37__po_vrijednosti.c

  1. /*
  2.   37__po_vrijednosti.c
  3.   Funkcije parametre primaju po vrijednosti, tj. promjena vrijednosti
  4.   parametra funkcije unutar tijela funkcije ne utjece na vrijednost kod
  5.   pozivatelja.
  6.   -----
  7.   Program sadrzi funkciju swap cija bi uloga trebala biti zamjena
  8.   vrijednosti njezinih dvaju parametara. Medjutim pri pozivu swap (x, y)
  9.   dogadja se slijedece:
  10.   (1) "stvore" se 2 nova int-a a i b
  11.   (2) a=x; b=y;
  12.   (3) zamijene se vrijednosti od a i b (a ne od x i y !!!)
  13.   (4) "uniste" se int-ovi a i b
  14.   Ukupni je efekt da x i y (to su u donjem programu a i b iz main-a) ostaju
  15.   nepromijenjeni nakon poziva funkcije.
  16. */
  17.  
  18. #include <stdio.h>
  19.  
  20. void swap ( int a, int b )
  21. {
  22. int temp;
  23.  
  24. temp=a; a=b; b=temp;
  25. printf ("Unutar funkcije swap: a=%d b=%d\n", a, b);
  26. }
  27.  
  28.  
  29. int main ()
  30. {
  31. int a=17, b=23;
  32.  
  33. printf ("Prije poziva funkcije swap: a=%d b=%d\n", a, b);
  34. swap (a, b);
  35. printf ("Nakon poziva funkcije swap: a=%d b=%d\n", a, b);
  36.  
  37. return 0;
  38. }
  39.