编写程序void Swap(int x, int y) 交换两个变量值,分别用指针传递、引用传递、和值传递;
时间: 2024-09-18 18:15:36 浏览: 70
c语言swap(a,b)值交换的4种实现方法
在编写程序时,`Swap` 函数用于交换两个整数变量 `x` 和 `y` 的值。以下是三种不同的数据传递方式:
1. **指针传递** (Pass by pointer):
```c++
void Swap(int* x, int* y) {
int temp = *x;
*x = *y;
*y = temp;
}
```
在这个版本中,我们通过指针间接访问变量,所以改变指针指向的内容可以直接修改原值。
2. **引用传递** (Pass by reference):
```c++
void Swap(int& x, int& y) {
int temp = x;
x = y;
y = temp;
}
```
这里使用的是引用,它实际上是变量名的别名,因此直接操作引用就相当于改变了原始变量。
3. **值传递** (Pass by value, C++中实际不推荐这样做,因为会复制整个值):
```c++
void Swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
```
这种方式下,函数接收到的是 `a` 和 `b` 的副本,所以在函数内部修改不会影响到原始变量。
阅读全文