通过指针给一个任务函数传递变量a、b,在函数中使用指针与一个临 时变量交换a、b的值,然后在主函数中输出a、b的值。
时间: 2024-12-02 16:21:03 浏览: 15
C语言,指针,变量值交换
在C++中,你可以通过将变量的地址作为指针传递给函数来实现这个需求。首先,定义两个整数变量a和b,然后定义一个接受指针的函数swapByPointer,如下所示:
```cpp
#include <iostream>
// 函数声明,接受两个整型指针并交换它们指向的值
void swapValues(int* a, int* b);
int main() {
int a = 5;
int b = 10;
// 将变量a和b的地址分别赋值给指针pA和pB
int* pA = &a;
int* pB = &b;
std::cout << "Before swapping: a = " << a << ", b = " << b << "\n";
// 调用swapValues函数,传递指针
swapValues(pA, pB);
// 输出交换后的值
std::cout << "After swapping: a = " << a << ", b = " << b << "\n";
return 0;
}
// 实现swapValues函数,通过指针操作
void swapValues(int* a, int* b) {
int temp = *a; // 获取a指向的值到临时变量temp
*a = *b; // 将b指向的值赋给a
*b = temp; // 将temp的值赋给b
}
```
在这个例子中,`swapValues`函数内部并没有创建新的临时变量,而是直接利用了指针,达到了交换值的目的。运行这段代码,你会看到a和b的值在主函数中已经被互换了。
阅读全文