实现交换,输出数据,一个是调用函数实现,一个没有用,但是一个交换了,一个没有交换,为什么?
#include <stdio.h>
void swap(int *x ,int *y)
{
int *temp;
temp=x;
x=y;
y=temp;
}
void main()
{
int a=3,b=5,*p=&a,*q=&b;
swap(p,q);
printf("%d %d\n",*p,*q);
}
上面的这个没有交换3和5的值:输出的仍是:3 5
#include <stdio.h>
void main()
{
int a=3,b=5;
int *p,*q,*temp;
p=&a,q=&b;
temp=p;
p=q;
q=temp;
printf("%d %d\n",*p,*q);
}
这个交换了:输出的是:5 3