Zamiana dwóch zmiennych bez użycia zmiennej tymczasowej

Korzystanie ze wskaźników

 #include void change (int *, int *); int main () {int a = 2, b = 5; printf ("Przed: a =% d, b =% d n", a, b); zmień (& a, & b); printf ("Po: a =% d, b =% d n", a, b); powrót 0; } void change (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; } 

Wyniki

Przed: a = 2, b = 5

Po: a = 5, b = 2

Wykorzystanie makra

 #include #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int main () {int a = 2, b = 5; printf ("Przed: a =% d, b =% d n", a, b); SWAP (a, b); printf ("Po: a =% d, b =% d n", a, b); powrót 0; } 

Wyniki

Przed: a = 2, b = 5

Po: a = 5, b = 2

Zauważ, że:

Nazwa makra lub zmiennych może zostać zmieniona dla Twojej wygody.

Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki