#include // Se va face câte o copie a variabilelor a și b. Aceste copii se vor distruge // după ce funcția își va încheia execuția void swap(int a, int b) { int temp = a; a = b; b = a; } // Se va face câte o copie a pointerilor dar vor pointa tot către variabilele // a și b void swap2(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } int main() { int a = 5; int b = 10; printf("Before swap: %d %d\n", a, b); // 5 10 swap(a, b); printf("After swap: %d %d\n", a, b); // 5 10 printf("Before swap: %d %d\n", a, b); // 5 10 swap2(&a, &b); printf("After swap: %d %d\n", a, b); // 10 5 return 0; }