c语言用指针实现数据交换
时间: 2023-12-08 13:38:12 浏览: 101
C语言中可以通过指针实现数据交换,具体实现方法如下所示:
```c
#include <stdio.h>
// 定义函数swap,通过指针交换两个变量的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 1, y = 2;
printf("交换前:x=%d, y=%d\n", x, y);
swap(&x, &y);
printf("交换后:x=%d, y=%d\n", x, y);
return 0;
}
```
在上述代码中,我们定义了一个名为swap的函数,该函数接收两个指向int类型变量的指针作为参数,通过指针交换两个变量的值。在main函数中,我们定义了两个变量x和y,并将它们的值分别赋为1和2。然后我们调用swap函数,将x和y的地址作为参数传递给swap函数,从而实现了x和y的值的交换。最后我们输出交换前后的x和y的值,可以看到它们的值已经被成功交换了。
相关问题
用C语言利用指针交换2个数据
可以使用指针变量来交换两个变量的值。假设我们要交换变量a和b的值,可以使用以下代码:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在这个函数中,我们定义了两个指向int类型的指针变量a和b。然后我们创建了一个临时变量temp,并将a指向的值赋值给temp。接着,我们将a指向的值改为b指向的值,将b指向的值改为temp的值,从而完成了交换。
在主函数中,我们可以这样调用swap函数:
```c
int main() {
int a = 5, b = 10;
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;
}
```
在这个例子中,我们定义了两个变量a和b,并将它们分别初始化为5和10。然后我们调用swap函数,并将a和b的地址作为参数传递给函数。最后,我们打印交换后的结果。
c语言利用指针交换 2 个数据
可以使用指针来实现交换两个变量的值,具体实现如下:
```c
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
其中,参数 a 和 b 是两个整型指针,表示要交换的两个变量的内存地址。在函数体中,首先将指针 a 指向的变量的值存储到一个临时变量 temp 中,然后将指针 a 指向的变量的值修改为指针 b 指向的变量的值,最后将指针 b 指向的变量的值修改为临时变量 temp 的值,从而实现了两个变量的值的交换。
使用该函数可以这样调用:
```c
int a = 1, b = 2;
swap(&a, &b);
printf("a=%d, b=%d\n", a, b); // 输出:a=2, b=1
```