#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; }
运行结果如图