形参与实参
#include"stdio.h"void fun(int*a,int*b)
{
int *k;
k=a;a=b;b=k;
}
main()
{
int a=1,b=2,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
printf("%d%d",*x,*y);
}
为什么调用fun后*x和*y的值没有改变呢,不理解了,高人指点
void fun(int *a,int *b) { int *k; k=a;a=b;b=k; } 和 void fun(int *a,int *b) { int k; k=*a;*a=*b;*b=k; } 传递的时候到底发生了什么?为什么会不一样呢,都是传的地址啊?第一个把两个指针交换了,第二个把指针里的内容交换了