用指针交换数值
程序代码:#include <stdio.h>
main()
{int a=10,b=20;
int *x=&a,*y=&b;
printf("a=%d,b=%d\n",a,b);
swap(x,y);
printf("after swap\ta=%d,b=%d\n",a,b);
getch();
}
swap(int *x,int *y)
{int *t;
*t=*x;
*x=*y;
*y=*t;
}编译的结果是a=20,b=20. 为什么不是a=20,b=10 *x指向10赋给*t,*t也指向10,*y指向20赋给*x,*x也等于20,*t赋给*y *y怎么指向20了?- -









