如何用指针函数交换两个数
时间: 2024-05-11 12:19:36 浏览: 20
可以使用指针函数来交换两个数的值。下面是一个例子:
```c
#include <stdio.h>
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
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;
}
```
在上面的代码中,`swap()` 函数使用指针参数来交换两个变量的值。在 `main()` 函数中,我们定义了两个变量 `x` 和 `y`,并打印了它们的初始值。然后,我们调用 `swap()` 函数来交换 `x` 和 `y` 的值,并打印了交换后的结果。
输出应该是:
```
Before swap: x = 10, y = 20
After swap: x = 20, y = 10
```
在调用 `swap()` 函数时,我们传递了 `x` 和 `y` 的地址作为参数,这样 `swap()` 函数就可以通过指针来访问这两个变量,并交换它们的值。
相关问题
利用C语言写一个指针函数进行两个数的交换
好的,可以使用以下指针函数来实现两个数的交换:
```c
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
```
其中,a和b是要进行交换的两个数的指针,temp是用来暂存其中一个数的变量。函数通过将a指针所指向的值赋给temp,然后将b指针所指向的值赋给a指针所指向的值,最后将temp的值赋给b指针所指向的值,来实现a和b的交换。可以像这样调用该函数:
```c
int a = 5;
int b = 10;
swap(&a, &b);
printf("a = %d, b = %d", a, b);
```
输出结果为:
```
a = 10, b = 5
```
编写函数利用指针实现将两个数交换
下面是一个利用指针实现交换两个数的函数:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在函数中,我们定义了两个指向整型变量的指针 `a` 和 `b`,然后通过指针交换了它们所指向的值。这样,在函数执行完毕后,原来的 `a` 变量所存储的值就变成了 `b` 所存储的值,而原来的 `b` 变量所存储的值也变成了 `a` 所存储的值。下面是一个例子:
```c
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;
}
```
在这个例子中,我们定义了两个变量 `x` 和 `y`,并初始化它们的值为 10 和 20。然后,我们调用 `swap` 函数,并将 `x` 和 `y` 的地址作为参数传递给函数。最后,我们输出交换后的结果。
相关推荐
![](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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)