void Swap(int x, int y)
{
int tmp = 0;
tmp = x;
x = y;
y = tmp;
}
……
Swap(a,b)
我们发现a和b并没有交换,因为x和a,y和b的地址不相同,所以x,y交换
a和b并不会改变
我们要使用指针变量
#include <stdio.h>标签:tmp,函数,int,pb,pa,整型,printf,变量,Swap From: https://blog.51cto.com/u_15927947/6010314
void Swap(int* pa, int* pb)
{
int tmp = 0;
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main()
{
int a = 10;
int b = 20;
printf("a=%d b=%d\n", a, b);
Swap(&a, &b);
printf("a=%d b=%d\n", a, b);
return 0;
}