c语言、用指针变量实现交换变量的值(交换指向和交换指向变量的值两种方法来实现,比较区别)。 (一)交换指向的变量的值 (二)交换指向
时间: 2024-03-11 21:48:50 浏览: 78
变量的指针。
一、交换指向的变量的值:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 1, y = 2;
swap(&x, &y);
printf("x=%d, y=%d", x, y);
return 0;
}
```
在这个例子中,`swap` 函数接受两个整型指针作为参数,然后通过解引用指针的方式交换指向变量的值。在 `main` 函数中,我们传入了 `x` 和 `y` 的地址作为参数,最后输出 `x` 和 `y` 的值。
二、交换指向变量的指针:
```c
void swap(int **a, int **b) {
int *temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 1, y = 2;
int *p = &x;
int *q = &y;
swap(&p, &q);
printf("*p=%d, *q=%d\n", *p, *q);
printf("x=%d, y=%d", x, y);
return 0;
}
```
在这个例子中,`swap` 函数接受两个整型指针的指针作为参数,然后通过解引用指针的方式交换指向变量的指针。在 `main` 函数中,我们定义了 `p` 和 `q` 分别指向 `x` 和 `y` 的地址,然后传入它们的地址作为参数,最后输出 `p` 和 `q` 指向的值,以及 `x` 和 `y` 的值。
在这两种方法中,第一种方法是交换指向变量的值,而第二种方法是交换指向变量的指针。第二种方法需要使用一个指向指针的指针来传递参数。
阅读全文