经典指针程序_两个数字互换
#include <stdio.h>
void huhuan_1(int ,int );
void huhuan_2(int *,int *);
void huhuan_3(int *,int *);//函数声明一般形参只写类型
int main(void)
{
int a = 3;
int b = 5;
huhuan_3(&a,&b); //
printf("a = %d,b = %d\n",a,b);
return 0;
}
//不能完成互换功能
void huhuan_1(int a,int b)
{
int t;
t = a;
a = b;
b = t;
}
//不能完成互换功能
void huhuan_2(int *p,int *q)
{
int *t; //如果互换p和q的值,则t必须是int * ,不能是int,否则会出错
t = p;
p = q;
q = t;
}
//可以完成互换功能
void huhuan_3(int *p,int *q)
{
int t; // 如果要互换*p和*q的值,则t必须定义成int,不能定义成int *,否则语法错误
t = *p; //p是int * , *p是int
*p = *q;
*q = t;
}