#include void fun( int *a,int *b){ int *c; c=a;a=b;b=c; //形参自身交换,不影响实参。只有交换地址中的内容,才会影响到实参地址中的数据 //函数结束后,实参还是原来的值}main(){ int x=3, y=5, *p=&x, *q=&y; fun(p,q); printf("%d,%d,",*p,*q); //3,5 fun(&x,&y); printf("%d,%d\n",*p,*q); //3,5}输出3,5,3,5