区分交换指向还是交换变量值
多留意一下就可以了,你这里只是交换了指针的指向
改成下面的:
#include <stdio.h>
void main()
{
int a,b,c,f,*p,*p1,*p2;
scanf("%d%d%d",&a,&b,&c);
p=&a;
p1=&b;
p2=&c;
if(a>b)
{f=*p;*p=*p1;*p1=f;}
if(a>c)
{f=*p;*p=*p2;*p2=f;}
if(b>c)
{f=*p1;*p1=*p2;*p2=f;}
printf("%d,%d,%d",*p,*p1,*p2);
puts("\n");
}