一个用指针给三个数排序的问题
#include<stdio.h>void f1(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
void f2(int *p1,int *p2,int *p3)
{
if(*p1<*p2) f1(p1,p2);
if(*p1<*p3) f1(p1,p3);
if(*p2<*p3) f1(p2,p3);
}
main()
{
int a,b,c;
int*p1,*p2,*p3;
scanf("%d %d %d",&a,&b,&c);
p1=&a;p2=&b;p3=&c;
f2(p1,p2,p3);
printf("%d %d %d",p1,p2,p3);
}
程序可以运行,但是答案是错误的。