c++用指针交换两个数
时间: 2024-01-04 14:04:37 浏览: 167
可以使用指针来交换两个数,交换过程中需要注意指针的赋值和解引用操作,具体实现如下:
```c++
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 示例
int main() {
int x = 5, y = 10;
cout << "Before swap: x=" << x << ", y=" << y << endl;
swap(&x, &y);
cout << "After swap: x=" << x << ", y=" << y << endl;
return 0;
}
```
输出结果为:
```
Before swap: x=5, y=10
After swap: x=10, y=5
```
相关问题
c++通过指针交换两个变量的值
可以通过指针交换两个变量的值,代码如下:
```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函数来完成变量交换,输出结果即可。
阅读全文