代码如下:
#include<stdio.h>
void exchange(int* x, int* y, int* z);
int main()
{
int a, b, c;
int* p1, * p2, * p3;
printf("enter three numbers:\n");
scanf_s("%d%d%d", &a, &b, &c);
p1 = &a;
p2 = &b;
p3 = &c;
exchange(p1, p2, p3);//函数中定义得是指针变量,这里没有*
printf("顺序为:%d>%d>%d", a, b, c);
return 0;
}
void exchange(int* x, int* y, int* z)
{
void swap(int* pp1,int *pp2);
if (*x < *y)
swap(x, y);//如果a<b,交换a与b的值
if (*x < *z)
swap(x, z);//如果a<c,交换a与c的值
if (*y < *z)
swap(y, z);//如果b<c,交换b与c的值
}
void swap(int* pp1, int* pp2)
{
int temp;
temp = *pp1;
*pp1 = *pp2;
*pp2 = temp;
}