Zamjena dvije varijable bez korištenja varijable temp

Korištenje pokazivača

 #include void change (int *, int *); int main () {int a = 2, b = 5; printf ("Prije: a =% d, b =% d", a, b); Promjena (i a, i b); printf ("Nakon: a =% d, b =% d", a, b); return 0; } praznina promjena (int * a, int * b) {* a + = * b; * b = * a- * b; * a = * a- * b; } 

Rezultati

Prije: a = 2, b = 5

Nakon: a = 5, b = 2

Korištenje makroa

 # uključi #define SWAP (x, y) x ^ = y, y ^ = x, x ^ = y int main () {int a = 2, b = 5; printf ("Prije: a =% d, b =% d", a, b); SWAP (a, b); printf ("Nakon: a =% d, b =% d", a, b); return 0; } 

Rezultati

Prije: a = 2, b = 5

Nakon: a = 5, b = 2

Imajte na umu da:

Naziv makronaredbe ili varijabli može se promijeniti u vašu korist.

Prethodni Članak Sljedeći Članak

Top Savjeta