c语言:编写一个函数名字为sort,完成对三个整数从小到大排序,要求用指针实现。

2025-02-11 20:38:31
推荐回答(2个)
回答1:

#include
int sort(int *a,int *b,int *c)
{
int d;
if(*a>*b)
{d=*a;*a=*b;*b=d;}
if(*a>*c)
{d=*a;*a=*c;*c=d;}
if(*b>*c)
{d=*b;*b=*c;*c=d;}
printf("这个三个数从小到大排列是:%d,%d,%d\n",a,b,c);
}
void main()
{
int a,b,c,*x,*y,*z;
printf("输入3个整数:");
scanf("%d,%d,%d",&a,&b,&c);
x=&a;
y=&b;
z=&c;
sort(x,y,z);

}

好好学学指针吧

回答2:

修改通过了:

#include

void sort(int *a,int *b,int *c)
{
int d;
if(*a>*b) // a,b,c是指针,对其解引用如*a才是他们指向的值
{d=*a;*a=*b;*b=d;}
if(*a>*c)
{d=*a;*a=*c;*c=d;}
if(*b>*c)
{d=*b;*b=*c;*c=d;}
printf("这个三个数从小到大排列是:%d,%d,%d\n",*a,*b,*c);
}

void main()
{
int a,b,c;
printf("输入3个整数:");
scanf("%d%d%d",&a,&b,&c);
sort(&a,&b,&c); // 参数是指针,传的就是地址
}