#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define M 10
void sort(int *p1,int *p2,int *p3) //定义三个形参指针变量接收主函数传入的实参
{
int t;
if(*p1>*p2) // * 号代表解址,解址后就是内容,进行比较大小
{
t=*p1;
*p1=*p2;
*p2=t;
}
if(*p1>*p3)
{
t=*p1;
*p1=*p3;
*p3=t;
}
if(*p2>*p3)
{
t=*p2;
*p2=*p3;
*p3=t;
}
printf("The order is :%d < %d <%d ",*p1,*p2,*p3);//排序完成后进行输出
}
int main(void)
{ int a,b,c;
int *p1,*p2,*p3; //分别定义指针变量p1,p2,p3
p1=&a;
p2=&b;
p3=&c; //分别指向三个整数的地址
printf("Please enter a,b,c:");
scanf("%d%d%d",&a,&b,&c); //输入三个整数
sort(p1,p2,p3); //调用排序函数
return 0;
}
小编觉得这道题目是比较基础的,重点要理清何为指针,地址,指针变量的概念;