经典的两数互换【指针】

/*
经典的数的互换


*/

# include <stdio.h>
//在这个函数当中,因为主函数a, b 和函数huhuan当中的形参是两个不同的地址,在这个里面只能改变一个函数的内容,不能实现
//改两个函数的内容;
void huhuan(int a, int b)
{
int t;
t = a;
a = b;
a = t;
}
//这个函数的只能改变*p 和*q当中的值,在这个函数当中只能改变这个*p 和*q的值,所以也不能实现这个a, b 的内容改写;
//
void huhuan_1(int *p, int *q)
{
int *t;
t = p;
q = p;
p = t;

}
//这个函数当中,因为这两个函数是将主函数的,a,和b 的地址改写所以能实现,a, 和b 两个数的互换;
//函数当中,因为p 和q 都是Int类型的,所以定义temp也只能写成int类型,不然的话会因为类型不同而报错;
void huhuan_2(int *p, int *q)
{
int t;

t = *p;
*p = *q;
*q = t;
}

void main()
{
int a =3;
int b =5;
huhuan_2(&a, &b);
printf("a = %d, b = %d\n", a, b );
}
原文地址:https://www.cnblogs.com/flay/p/2394048.html