用C语言实现:利用指针交换2个数据。
时间: 2023-06-14 17:08:20 浏览: 130
可以使用指针来实现两个数据的交换,具体实现如下:
```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`,并将它们的值分别初始化为 10 和 20。然后我们调用 `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
```
阅读全文