编写程序void swap 用值传递交换两个变量值
时间: 2024-09-18 17:16:03 浏览: 42
Java值传递和引用传递详解
在编写程序中,"swap"函数通常用于交换两个变量的值,而不仅仅是通过引用传递它们。当使用值传递的方式,函数内部无法直接修改传入的原始变量,因为变量的副本会被创建。但是,如果你需要在C++等支持指针的语言中使用值传递并交换,你可以利用指针来间接达到目的。这里是一个简单的例子:
```c++
#include <iostream>
// 函数声明,接受整数的地址作为参数
void swap(int* a, int* b); // 定义swap函数,接收指向int的指针
int main() {
int x = 5;
int y = 10;
std::cout << "Before swap: x = " << x << ", y = " << y << "\n";
// 调用swap函数,传入x和y的地址
swap(&x, &y);
std::cout << "After swap: x = " << x << ", y = " << y << "\n";
return 0;
}
// 实现swap函数,使用临时变量辅助交换
void swap(int* a, int* b) {
int temp = *a; // 存储a的值
*a = *b; // 将b的值赋给a
*b = temp; // 将temp(原a的值)赋给b
}
```
在这个例子中,`swap`函数通过改变指针所指向的内存位置实现了两个变量的值交换。
阅读全文