Vaihdetaan kahta muuttujaa käyttämättä temp-muuttujaa

Viitteiden käyttäminen

 # sisällyttää tyhjä muutos (int *, int *); int main () {int a = 2, b = 5; printf ("Ennen: a =% d, b =% d", a, b); Muutos (& A, ja b); printf ("After: a =% d, b =% d", a, b); paluu 0; } tyhjä muutos (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; } 

tulokset

Ennen: a = 2, b = 5

Jälkeen: a = 5, b = 2

Makron käyttäminen

 #include #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int main () {int a = 2, b = 5; printf ("Ennen: a =% d, b =% d", a, b); SWAP (a, b); printf ("After: a =% d, b =% d", a, b); paluu 0; } 

tulokset

Ennen: a = 2, b = 5

Jälkeen: a = 5, b = 2

Ota huomioon, että:

Makron tai muuttujien nimi voidaan muuttaa sopivaksi.

Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä