+ 1

How we can inter change the value of two variables with or without 3 rd variables?

22nd Oct 2016, 5:25 PM
Harsh
Harsh - avatar
2 ответов
+ 3
With a third variable: void swap(int &a, int &b) { int tmp = a; a = b; b = tmp; } Without: void swap(int &a, int &b) { a = a + b; b = a - b; a = a - b; } Call: int a = 31; int b = 42; swap(a, b);
22nd Oct 2016, 7:18 PM
Zen
Zen - avatar
+ 1
You will always need a third variable to hold one of the other variable's values before you overwrite it. This is the same with pointers as well. You can make a function to swap to variables' values: void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp;//even in the function, you need that third variable. } call it like this: int aa = 6; int bb = 9; swap(&aa, &bb);
22nd Oct 2016, 6:06 PM
Zeke Williams
Zeke Williams - avatar