Bytte to variabler uten å bruke en temp variabel

Bruke pekere

 #include void change (int *, int *); int main () {int a = 2, b = 5; printf ("Før: a =% d, b =% d \ n", a, b); endring (& a, og b); printf ("After: a =% d, b =% d \ n", a, b); returner 0; } ugyldig forandring (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; } 

resultater

Før: a = 2, b = 5

Etter: a = 5, b = 2

Gjør bruk av en makro

 #include #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int main () {int a = 2, b = 5; printf ("Før: a =% d, b =% d \ n", a, b); SWAP (a, b); printf ("After: a =% d, b =% d \ n", a, b); returner 0; } 

resultater

Før: a = 2, b = 5

Etter: a = 5, b = 2

Noter det:

Navnet på makroen eller variablene kan endres for enkelhets skyld.

Forrige Artikkel Neste Artikkel

Beste Tips