Zamenjava dveh spremenljivk brez uporabe spremenljivke temp

Uporaba kazalcev
#include void change (int *, int *); int main () {int a = 2, b = 5; printf ("Pred: a =% d, b =% d", a, b); sprememba (& a, & b); printf ("Po: a =% d, b =% d", a, b); return 0; } prazne spremembe (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; }
Rezultati
Pred: a = 2, b = 5
Po: a = 5, b = 2
Uporaba makra
# vključi #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int main () {int a = 2, b = 5; printf ("Pred: a =% d, b =% d", a, b); SWAP (a, b); printf ("Po: a =% d, b =% d", a, b); return 0; }
Rezultati
Pred: a = 2, b = 5
Po: a = 5, b = 2
Upoštevajte, da:
Ime makra ali spremenljivk se lahko spremeni glede na vaše potrebe.