//子函数(被调用函数)
//父函数(调用函数)
//子函数影响父函数(值传递不可取)
----用指针交换两个值
void Swap1(int a,int b) //error 经典的值传递
{
int tmp = a;
a = b;
b = tmp;
}
void Swap2(int *pa, int *pb) //error
{
int *tmp = pa;
pa = pb;
pb = tmp;
}
void Swap3(int *pa, int *pb) //error
{
int *tmp; //野指针 悬挂指针 或者NULL 都报错
*tmp = *pa;
*pa = *pb;
*pb = *tmp;
}
void Swap(int *pa, int *pb) //true
{
int tmp;
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main()
{
int a = 10;
int b = 20;
Swap(&a, &b);
printf("%d %d\n", a, b);
return '0;
}
---原来的两个值进行交换-找一个临时变量,代码为
{
int a = 10;
int b = 20;
int tmp = a;
a = b;
b = tmp;
printf("%d %d\n", a, b);
return 0;
}