File: Stare vježbe/vjezbe08/51__pointeri_swap.c

  1. /*
  2.   51__pointeri_swap.c
  3.   -----
  4.   Program sadrzi funkciju swap koja sluzi za zamjenu vrijednosti dvaju
  5.   varijabli tipa int.
  6.   Funkcija swap kao argumente ima pokazivace na varijable cije vrijednosti
  7.   treba zamijeniti (usporedite ovaj program s programom 37__po_vrijednosti.c).
  8. */
  9.  
  10. #include <stdio.h>
  11.  
  12. void swap(int* pa, int* pb)
  13. {
  14. int temp;
  15.  
  16. printf("\nUnutar funkcije swap prije zamjene *pa i *pb:\n");
  17. printf("-> pa = %d, *pa=%d, &pa=%d\n", pa, *pa, &pa);
  18. printf("-> pb = %d, *pb=%d, &pb=%d\n", pb, *pb, &pb);
  19.  
  20. temp=*pa;
  21. *pa=*pb;
  22. *pb=temp;
  23.  
  24. printf("Unutar funkcije swap nakon zamjene *pa i *pb:\n");
  25. printf("-> pa = %d, *pa=%d, &pa=%d\n", pa, *pa, &pa);
  26. printf("-> pb = %d, *pb=%d, &pb=%d\n", pb, *pb, &pb);
  27. }
  28.  
  29. int main ()
  30. {
  31. int a=17, b=23;
  32.  
  33. printf ("Prije poziva funkcije swap:\n");
  34. printf("-> a = %d, &a = %d\n", a, &a);
  35. printf("-> b = %d, &b = %d\n", b, &b);
  36. swap(&a, &b);
  37. printf ("\nNakon poziva funkcije swap:\n");
  38. printf("-> a = %d, &a = %d\n", a, &a);
  39. printf("-> b = %d, &b = %d\n", b, &b);
  40.  
  41. return 0;
  42. }
  43.