// Dos intentos de intercambiar: uno recibe copias de los valores, el otro sus direcciones.
#include <stdio.h>

void swap_values(int a, int b) {
    int old_a = a;
    a = b;
    b = old_a;
}

void swap(int *a, int *b) {
    int old_a = *a;
    *a = *b;
    *b = old_a;
}

int main(void) {
    int x = 1;
    int y = 2;

    swap_values(x, y);
    printf("después de swap_values: x = %d, y = %d\n", x, y);

    swap(&x, &y);
    printf("después de swap: x = %d, y = %d\n", x, y);
    return 0;
}
