用指针变量实现两数交换函数
时间: 2023-05-18 12:03:25 浏览: 184
可以使用以下代码实现两数交换函数:
```
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。
相关问题
指针变量作为函数参数实现两变量交换值
可以使用指针变量作为函数参数来实现两个变量的值交换。
实现方法是:
1. 在函数中声明两个指针变量,分别指向传入的两个变量的地址。
2. 通过临时变量保存其中一个变量的值
3. 将其中一个变量的值赋值给另一个变量
4. 将临时变量的值赋值给第一个变量
代码示例:
```
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int x = 5, y = 10;
swap(&x, &y);
printf("x = %d, y = %d", x, y);
return 0;
}
```
输出:
```
x = 10, y = 5
```
这个例子中,变量x和y 的值被交换
请注意:指针变量是一个内存地址,用来引用内存中的值, 操作符 "*" 被称为"间接值" 这个操作符取出指针所指向的内存中的值。
编写函数利用指针实现将两个数交换
下面是一个利用指针实现交换两个数的函数:
```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` 的地址作为参数传递给函数。最后,我们输出交换后的结果。