在C语言中,如何用指针实现两个变量的值交换?
可以通过传递变量的指针到函数中,直接操作内存地址来交换值。示例代码如下:
```c
voidswap(inta,intb){
inttemp=a;
a=b;
b=temp;
}
intmain(){
intx=5,y=10;
swap(&x,&y);//传递地址
printf("x=%d,y=%d",x,y);//输出:x=10,y=5
return0;
}
```
原理:通过解引用指针(`a`和`b`)直接修改原始内存地址的值。
可以通过传递变量的指针到函数中,直接操作内存地址来交换值。示例代码如下:
```c
voidswap(inta,intb){
inttemp=a;
a=b;
b=temp;
}
intmain(){
intx=5,y=10;
swap(&x,&y);//传递地址
printf("x=%d,y=%d",x,y);//输出:x=10,y=5
return0;
}
```
原理:通过解引用指针(`a`和`b`)直接修改原始内存地址的值。