/*
 * inverse.c
 * 
 * Christophe Caron
 * www.caron.ws
 * 2019
 * Licence MIT
 * 
 */

#include <stdio.h>

/* declaration de la fonction */
void inverse(int *x, int *y);

int main () {
	
	/* définition des variables locales */
	int a = 100;
	int b = 200;
	
	printf("Valeur avant l'inversion de a : %d\n", a );
	printf("Valeur avant l'inversion de b : %d\n", b );
	
	inverse(&a, &b); //Utilisation des pointeurs d'adresse mémoire pour a et b
	
	printf("Valeur après l'inversion de a : %d\n", a );
	printf("Valeur après l'inversion de b : %d\n", b );
	
	return 0;
}
/* fonction inversion */
void inverse(int *x, int *y) {
	
	int temp;
	temp = *x;    /* sauvegarde de la valeur à l'adresse x */
	*x = *y;      /* valeur de l'adresse y dans valeur de l'adresse x */
	*y = temp;    /* valeur temp dans valeur de l'adresse y */
	
	return;
}