#includevoid swap(int **m,int **n){//二级指针交换 int *i; i=*m; *m=*n; *n=i; } void swap2(int &n,int &m){//地址引用交换 int t; t=n; n=m; m=t; } void swap3(int *n,int *m){//一级指针交换 int temp=*n; *n=*m; *m=temp; } int main(){ int a,b,*pa,*pb; pa=&a; pb=&b; scanf("%d%d",pa,pb); swap(&pa,&pb);//交换了指针*pa,*pb的指向,a,b的值未改变 printf("n1:............n"); printf("a=%d,b=%dn",*pa,*pb); printf("a=%d,b=%d",a,b); printf("n2:............n"); swap2(a,b);// printf("a=%d,b=%dn",a,b); printf("a=%d,b=%dn",a,b); printf("n3..............n"); swap3(&a,&b); printf("a=%d,b=%dn",a,b); printf("a=%d,b=%dn",a,b); return 0; }
输入
20 40
运行结果
1:…
a=40,b=20
a=20,b=40
2:…
a=40,b=20
a=40,b=20
3…
a=20,b=40



