用指针实现两个数的交换
时间: 2024-05-08 15:15:46 浏览: 16
以下是用指针实现两个数的交换的C语言代码:
```
#include <stdio.h>
void swap(int *a, int *b);
int main() {
int x = 10, y = 20;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
输出:
```
Before swap: x = 10, y = 20
After swap: x = 20, y = 10
```
在 `main` 函数中,我们定义了两个整数变量 `x` 和 `y` 并初始化为 `10` 和 `20`。然后我们调用了 `swap` 函数,并将 `x` 和 `y` 的地址作为参数传递给它。
在 `swap` 函数中,我们定义了一个整数变量 `temp` 并将 `a` 指针所指向的值赋给它。然后我们将 `b` 指针所指向的值赋给 `a` 指针所指向的值,将 `temp` 的值赋给 `b` 指针所指向的值。这样就完成了两个数的交换。
相关问题
用指针变量实现两数交换函数
可以使用以下代码实现两数交换函数:
```
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在调用函数时,将需要交换的两个数的地址作为参数传递给函数即可。例如:
```
int x = 5;
int y = 10;
swap(&x, &y);
```
执行完上述代码后,x 的值为 10,y 的值为 5。
c++用指针交换两个数
可以使用指针来交换两个数,交换过程中需要注意指针的赋值和解引用操作,具体实现如下:
```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
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)