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

#include<stdio.h>intsort(int*a,int*b,int*c){int*d;if(*a>*b){d=a;a=b;b=d;}if(*a>*c){d=... #include<stdio.h>
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);

}

这是我的代码,编译出来是错误的,但是我不知道怎么改,我现在还不是很清楚用函数调用指针什么时候加*,希望大家指点一下,谢谢了~
展开
 我来答
风若远去何人留
推荐于2017-07-06 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450136
专业C/C++软件开发

向TA提问 私信TA
展开全部
#include<stdio.h>
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);

}

好好学学指针吧

匿名用户
2013-07-16
展开全部
修改通过了:

#include<stdio.h>

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); // 参数是指针,传的就是地址
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式