#include <stdio.h>

// Prototipos: anuncian las funciones que se definen después de main.
void add_one(int x);
void try_swap(int a, int b);

int main(void) {
    int x = 5;
    add_one(x);
    printf("En main, x vale %d\n", x);

    int first = 1;
    int second = 2;
    try_swap(first, second);
    printf("En main, first = %d y second = %d\n", first, second);
    return 0;
}

// Cambia su copia. La variable de quien llama no se entera.
void add_one(int x) {
    x = x + 1;
    printf("En add_one, x vale %d\n", x);
}

// Intercambia sus copias, y nada más.
void try_swap(int a, int b) {
    int saved = a;
    a = b;
    b = saved;
    printf("En try_swap, a = %d y b = %d\n", a, b);
}
