交换两个变量的值一共有4中方法,分别是临时变量,加减运算,自带函数和位运算。最后一个只需要知道有这个东西就行了。
代码如下:
#include <iostream>
using namespace std;
int main() {
int a = 2, b = 1, temp;
temp = a;
a = b;
b = temp;
cout << a << " " << b << endl;
return 0;
}
运行结果为:
1 2
代码如下:
#include <iostream>
using namespace std;
int main() {
int a = 2, b = 1;
a = a + b;
b = a - b;
a = a - b;
cout << a << " " << b << endl;
return 0;
}
运行结果为:
1 2
这可能是C++中最常用的一种方法了,只需要一个函数就能搞定,步骤也没有前两种方法困难。
代码如下:
#include <iostream>
using namespace std;
int main() {
int a = 2, b = 1;
swap(a, b);'
cout << a << " " << b << endl;
return 0;
}
运行结果为:
1 2
这是通过位运算中的异或交换的,中间涉及到二进制的运算,和方法二比较像,但是在这里只是做一个科普,在这里不过多讲,不需要背。
#include <iostream>
using namespace std;
int main() {
int a = 2, b = 1;
b = a ^ b;
a = a ^ b;
b = a ^ b;
return 0;
}
运行结果为:
1 2