Échange de deux variables sans utiliser de variable temporaire

Utiliser des pointeurs

 #include void change (int *, int *); int main () {int a = 2, b = 5; printf ("Avant: a =% d, b =% d \ n", a, b); changer (& a, & b); printf ("Après: a =% d, b =% d \ n", a, b); retourne 0; } changement de vide (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; } 

Résultats

Avant: a = 2, b = 5

Après: a = 5, b = 2

Faire usage d'une macro

 #include #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int principal () {int a = 2, b = 5; printf ("Avant: a =% d, b =% d \ n", a, b); SWAP (a, b); printf ("Après: a =% d, b =% d \ n", a, b); retourne 0; } 

Résultats

Avant: a = 2, b = 5

Après: a = 5, b = 2

Notez que:

Le nom de la macro ou des variables peut être modifié à votre convenance.

Article Précédent Article Suivant

Les Meilleurs Conseils