#include<stdio.h>
huan(int *p,int *q){
int t;
t=*p;
*p=*q;
*q=t;
}
int main(){
int a=3,b=10;
huan(&a,&b);
printf("%d %d",a,b);
}
这里我最疑惑的是不是改变*p的值就改变了a的值,为此,我专门敲了段代码,验证一下
#include<stdio.h>
int main(){
int a=3,*p;
p=&a;
printf("%d %d\n",a,*p);
*p=10;
printf("%d %d",a,*p);
}
不出所料,的确是这样的,*p和a是等值得,改变其中一个另一个也要改变
p只是a的地址罢了