利用C语言写一个指针函数进行两个数的交换
时间: 2024-03-23 17:43:55 浏览: 109
好的,可以使用以下指针函数来实现两个数的交换:
```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语言写一个静态函数,实现两个数的交换
下面是用C语言写一个静态函数,实现两个数的交换的代码:
```c
static void swap(int *a, int *b) {
int temp = *a;
*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
```
注意,这里使用了指针来实现交换,因为在函数内部修改变量的值不会影响到函数外部的变量。
用C语言写一个指针赋值函数
可以写一个简单的指针赋值函数,如下所示:
```
void assign_ptr(int *p1, int *p2) {
*p1 = *p2;
}
```
这个函数的作用是将指针p2所指向的内存空间的值赋值给指针p1所指向的内存空间。在函数内部,使用解引用符号(*)来获取指针所指向的内存空间的值,并将其赋值给另一个指针所指向的内存空间。这个函数可以用来交换两个指针所指向的值,或者将一个指针的值赋给另一个指针。
阅读全文