新手用指针实现对输入的三个整形实属从小到大排序请教
#include<stdio.h>int main()
{
void swap1(int*x,int*y);
void swap2(int*x,int*y);
int a,b,c;
int*p1,*p2,*p3;
p1=&a;
p2=&b;
p3=&c;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{if(b>c)
swap1(p1,p2);
swap2(p2,p3);
else
swap1(p1,p2);
}
else
{
if(b>c)
swap2(p2,p3);
else
;
}
printf("%d%d%d",*p1,*p2,*p3);
return 0;
}
void swap1(int*x,int*y)
{
int z;
z=*x;
*x=*y;
*y=z;
}
void swap2(int*x,int*y)
{
int z;
z=*x;
*x=*y;
*y=z;
}
其实我的被掉函数写的有点问题,书上用 exchange(p1,p2,p3),就可以实现 但是我的方式能行吗,底下的错误只有if和else搭配不到一起,就算能搭配到一起,我的程序能实现吗,麻烦看下,谢谢