使用指针来完成三个数由大到小输出(简单指针的应用)

时间:2022-12-22 11:28:50
#include<stdio.h>
int main()
{
void exchange(int *r1,int *r2,int *r3);
int a,b,c,*p1,*p2,*p3;
scanf("%d %d %d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;//若在数组中p1中存的是数组所在内存空间的首地址
exchange(p1,p2,p3);//使用这个函数之前必须先声明
printf("%d %d %d",a,b,c);
return 0;
}
void exchange(int *r1,int *r2,int *r3)
{
void swap(int *q1,int *q2);
if(*r2>*r1)
{
swap(r1,r2);
}
if(*r3>*r1)
{
swap(r1,r3);
}
if(*r3>*r2)
{
swap(r2,r3);
}
}
void swap(int *q1,int *q2)
{
int temp;
temp=*q2;
*q2=*q1;
*q1=temp;
}

运行结果如图

使用指针来完成三个数由大到小输出(简单指针的应用)