解题思路:
采用例8.3的方法在函数中改变这3个变量的值。用swap函数交换两个变量的值,用exchange函数改变这3个变量的值。
/* Note:Your choice is C IDE */
#include "stdio.h"
void exchange(int*y1,int*y2,int*y3);//函数的声明
void swap(int*z1,int*z2);//函数的声明
void main()
{
int a,b,c,*p1,*p2,*p3;
scanf("%d %d %d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
exchange(p1,p2,p3);//调用结束后不会改变指针的指向
printf("%d %d %d",*p1,*p2,*p3);
}
void exchange(int*y1,int*y2,int*y3)
{
if(*y1<*y2) swap(y1,y2);
if(*y1<*y3) swap(y1,y3);
if(*y2<*y3) swap(y2,y3);
}
void swap(int*z1,int*z2)
{
int t;
t=*z1;//下面代码是进行 交换指针指向的变量值
*z1=*z2;
*z2=t;
}