初学指针碰到个问题,请高手指教下
刚刚学指针,我想写个输入三个数据,然后从大到小排序,使用指针转换。但是编译后出来的不是我预期的效果 比如我依次输入 1 2 3 本来该 输出3 2 1的 结果出来的是 1,-858993460,-858993460,下面是我的代码 请高手指教下 错在哪了
#include<stdio.h>
void main()
{
int a,b,c;
int *p1=&a,*p2=&b,*p3=&c,p;
printf("请输入三个数字: ");
scanf("%d,%d,%d",&a,&b,&c);
if(*p1<*p2)
{
p=*p1;
*p1=*p2;
*p2=p;
}
if(*p1<*p3)
{
p=*p1;
*p1=*p3;
*p3=p;
}
if(*p2<*p3)
{
p=*p2;
*p2=*p3;
*p3=p;
}
printf("排序后的输出为:%d,%d,%d\n",a,b,c);
}