利用指针,输入3个数a,b,c,按大小顺序输出。
main()
{
int n1,n2,n3; //定义等待输入的变量
int *pointer1,*pointer2,*pointer3;//三个指针用来存放三个数的地址
printf("please input 3 number:n1,n2,n3:");
scanf("%d,%d,%d",&n1,&n2,&n3);
pointer1=&n1;
pointer2=&n2;
pointer3=&n3;
if(n1>n2) swap(pointer1,pointer2);//判断并交换
if(n1>n3) swap(pointer1,pointer3);
if(n2>n3) swap(pointer2,pointer3);
printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3);
}
swap(p1,p2) //交换函数,因为是指针,是地址交换,所以能达到交换的目的
int *p1,*p2; //如果传到形参的是数(不是指针)则不能实现交换
{int p;
p=*p1;*p1=*p2;*p2=p;
}