本人学生,在完成作业时遇到这个问题:输入三个整数,按由小到大的顺序输出。并且要求使用指针,于是我写了这样的代码
#include<stdio.h>
void swap(int *a,int *b, int *c)
{
int *i;
if(*b>*a)
i=a;
a=b;
b=i;
if(*c>*a)
i=a;
a=c;
c=i;
if(*c>*b)
i=b;
b=c;
c=i;
}
int main()
{
int q,w,e;
int *a,*b,*c;
scanf("%d,%d,%d",&q,&w,&e);
a=&q;
b=&w;
c=&e;
swap(a,b,c);
q=*a;
w=*b;
e=*c;
printf("%d,%d,%d",*a,*b,*c);
return 0;
}
然而,却行不通,这是为什么?