c++通过指针交换两个变量的值
时间: 2023-12-29 10:01:47 浏览: 47
可以通过指针交换两个变量的值,代码如下:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在调用 swap 函数时,将两个变量的地址作为参数传入即可:
```c
int main() {
int a = 1;
int b = 2;
printf("Before swap: a=%d, b=%d\n", a, b);
swap(&a, &b);
printf("After swap: a=%d, b=%d\n", a, b);
return 0;
}
```
输出结果为:
```
Before swap: a=1, b=2
After swap: a=2, b=1
```
相关问题
用C++定义两个变量a、b,两个指针变量p、q分别 指向变量a,b,使用指针交换两个变量的值
当然,您可以使用以下C++代码实现指针交换两个变量的值:
```c++
#include <iostream>
void swap(int* p, int* q) {
int temp = *p;
*p = *q;
*q = temp;
}
int main() {
int a = 3, b = 5;
int* p = &a, * q = &b;
std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
swap(p, q);
std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
return 0;
}
```
在上面的代码中,我们同样定义了两个变量a和b,以及两个指针变量p和q,分别指向变量a和b。然后我们定义了一个函数swap,用来交换p指向的变量和q指向的变量的值,最后在main函数中调用swap函数来完成变量交换,输出结果即可。
编写程序定义swap函数,利用指针实现两个变量值的交换
好的,下面是一个示例程序:
```c++
#include <iostream>
void swap(int* a, int* b);
int main()
{
int x = 10, y = 20;
std::cout << "Before swap: x = " << x << ", y = " << y << std::endl;
swap(&x, &y);
std::cout << "After swap: x = " << x << ", y = " << y << std::endl;
return 0;
}
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
```
这个程序定义了一个 `swap` 函数,接受两个指针作为参数,利用指针实现了两个变量的交换。在主函数中,我们定义了两个变量 `x` 和 `y`,并打印出交换前后的值。在调用 `swap` 函数时,我们传递了 `x` 和 `y` 的地址,使得函数内部可以直接访问并修改这两个变量的值。运行程序,输出结果如下:
```
Before swap: x = 10, y = 20
After swap: x = 20, y = 10
```
可以看到,经过 `swap` 函数的处理,变量 `x` 和 `y` 的值已经成功交换了。