用c++编写一个程序,用于实现两个数的交换
时间: 2024-09-20 20:15:51 浏览: 33
C++使用异或运算实现交换两个数的值
在C++中,交换两个整数变量的传统方法是使用第三个临时变量。但是,也可以直接通过算术运算(不使用临时变量)来完成这个任务,以下是这两种方法的示例:
1. 使用临时变量的版本(推荐初学者学习):
```cpp
#include <iostream>
using namespace std;
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int x = 5, y = 10;
cout << "Before swapping: x = " << x << ", y = " << y << endl;
swap(x, y);
cout << "After swapping: x = " << x << ", y = " << y << endl;
return 0;
}
```
2. 直接算术运算无临时变量版本:
```cpp
#include <iostream>
using namespace std;
void swapWithoutTemp(int& a, int& b) {
a = a + b; // 第一步,a = a + b
b = a - b; // 第二步,b = (a + b) - b = a
a = a - b; // 第三步,a = (a + b) - a = b
}
int main() {
int x = 5, y = 10;
cout << "Before swapping: x = " << x << ", y = " << y << endl;
swapWithoutTemp(x, y);
cout << "After swapping: x = " << x << ", y = " << y << endl;
return 0;
}
```
阅读全文