#include
void swap(int*a,int*b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int x,y;
int *p_x,*p_y;
printf("请输入两个数\n");
scanf("%d%d",&x,&y);
p_x=&x;
p_y=&y;
swap(p_x,p_y);
printf("x=%d y=%d\n",x,y);
return 0;
}
这样的函数,p_x的值为x的地址。调用函数时,应该是将p_x的值赋予*a这个指针。
可是我发现*a的值是就是x,并不是x的地址,请问这是为什么?