Échanger deux variables, voilà un exercice algorithmique très populaire. Soient a et b deux variables de type entier a = 4 b = 3 Le problème consiste à échanger les valeurs des variables a et b c'est-à-dire avoir après échange a = 3 et b = 4. Il y a deux manières de résoudre ce problème. 1. Première méthode# La première méthode consiste à utiliser une troisième variable (variable tampon) pour stocker temporairement une valeur pendant qu'elle est écrasée. Voici l'implémentation : c = a /* Stokage de la valeur de a */ a = b b = c 2. Seconde méthode# La seconde méthode consiste à sommer les deux variables puis à soustraire au fur a = a + b b = a - b a = a - b Ces deux méthodes s'implémentent toutes deux en trois étapes mais la seconde est la plus optimisée et la plus ingénieuse d'ailleurs. En effet elle ne fait pas appel à de la ressource supplémentaire. L'échange de deux variables est généralement utilisé dans les algorithmes de tri. Implémentation en C# #include <stdio.h> #include <stdlib.h> void echanger(int* a, int* b) { int c; //variable tampon c = *a; *a = *b; *b = c; } int main() { int x=12, y=5; printf("Avant: x = %d, y = %d\n", x, y); echanger(&x, &y); printf("Apres: x = %d, y = %d\n", x, y); return 0; } .