用指针互换两个变量的值
#inlcude <stdio.h>
void huhuan_4(int *, int *);
int main()
{
int i = 3, j = 5;
printf("原始值为:%d %d", i, j);
huhuan_4(&i, &j);
printf("互换之后:%d %d", i, j);
return 0;
}
/*能实现互换功能*/
void huhuan_4(int * a, int * b)
{
int t; //注意不能定义成int *,否则语法错误;
t = *a;
*a = *b;
*b = t;
return;
}
/*不能实现互换功能,易错,int * t未初始化, t中存放的是一个垃圾值, 若存放的是垃圾值, 则*t无法被函数调用, 因为函数没有权限*/
void huhuan_3(int * a, int * b)
{
int * t;
*t = *a;
*a = *b;
*b = *t;
return;
}
/*不能实现互换功能, 此时只交换了指针a, b的值,与主函数的i, j无关*/
void huhuan_2(int * a, int * b)
{
int * t;
t = a;
a = b;
b = t;
return;
}
/*不能实现互换功能, 此时只交换了整型a, b的值, 与主函数的i, j无关*/
void huhuan_1(int a, int b)
{
int t;
t = a;
a = b;
b = t;
return;
}