#include
swap(int *p1,int *p2)
{
int *p;
p=p1;
p1=p2;
p2=p;
}
main()
{
int a,b;
int *pa1,*pa2;
scanf("%d,%d",&a,&b);
pa1=&a;pa2=&b;
swap(pa1,pa2);
printf("\n%d,%d\n",*pa1,*pa2);
printf("\n%d,%d\n",a,b);
getch();
}
swap函数里面明明p1和p2的地址进行了交换,pa1指向了b,pa2指向了a,为什么最后的值没有交换呢,这个单向值传递具体是指什么呢?
|