赋值交换;
#include <stdio.h>
void Swap_err1(int a,int b)
{
int tmp ;
tmp = a;
a = b;
b = tmp;
//printf("%d,%d\n",a,b);
}
访问地址交换;
void Swap_err2(int *p1,int *p2)
{
int *tmp;
tmp = p1;
p1 = p2;
p2 = tmp;
}
void Swap_err3(int *p1,int *p2)
{
int *tmp; //野指针,悬挂指针
*tmp = *p1;
*p1 = *p2;
*p2 = *tmp;
}
void Swap(int *p1,int *p2)
{
int tmp;
tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
int main()
{
int a = 10;
int b = 20;
Swap(&a,&b);
int c = 45;
int d = 89;
Swap(&c,&d);
printf("%d,%d\n",a,b);
printf("%d,%d\n",c,d);
return 0;
}