1.传值调用和传址调用的区别
传值调用时实参传给形参,形参相当于实参的一份临时拷贝,交换形参,实 参并不发生改变。
传址调用时传递的是实参的地址,操作形参,实参也相应发生改变
2.函数实现
void Swap_num(int x,int y)
{
int z=0;
z=x;
x=y;
y=z;
}
void Swap_add(int *pa,int *pb)
{
int z=0;
z=*pa;
*pa=*pb;
*pb=z;
}
int main()
{
int a=10;
int b=20;
Swap_num(a,b);//传值调用
printf("a=%d,b=%d",a,b);
Swap_add(&a,&b);//传址调用
printf("a=%d,b=%d",a,b);
return 0;
}