值传递,地址传递,引用传递
这不是地址传递吗?为什么没有交换a,b的值呀。。。。。。。。。代码如下#include<stdio.h>
void fun(int *a,int *b)
{
int *t;
t=a;
a=b;
b=t;
printf("%d,%d\n",*a,*b);
}
void main()
{
int a,b;
scanf("%d%d",&a,&b);
fun(&a,&b);
printf("%d,%d\n",a,b);
}
但是改成这样就可以交换a,b的值了........
#include<stdio.h>
void fun(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
printf("%d,%d\n",*a,*b);
}
void main()
{
int a,b;
scanf("%d%d",&a,&b);
fun(&a,&b);
printf("%d,%d\n",a,b);
}
求大侠帮忙解释一下。。。。。。。