C语言高手请进!!!!! 20

从键盘输入三个整数,要求设三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由大到小的顺序输出三个数.... 从键盘输入三个整数,要求设三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由大到小的顺序输出三个数. 展开
 我来答
轻盈又鲜明的典范5100
2006-12-13 · 超过37用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
上面的回答与原题目要求不一样(并且会产生错误),现修改如下:
#include "stdio.h"
void order(int **p,int **q)
{
int *tmp;
if(**p<**q){
tmp = *p;
*p = *q;
*q = tmp;
}
}
void main()
{
int a,b,c;
int *p1,*p2,*p3;
scanf("%d%d%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
order(&p1,&p2);
order(&p1,&p3);//比较出最大者给p1.
order(&p2,&p3);//剩余两个进行比较.
printf("%d,%d,%d",*p1,*p2,*p3);
}
上面在VC6.0下调试通过,程序没有修改a,b,c中的值.
xhute
2006-12-13
知道答主
回答量:58
采纳率:0%
帮助的人:27.8万
展开全部
void main()
{
int *p1,*p2,*p3;
scanf("%d,%d,%d",p1,p2,p3);
order(p1,p2);
order(p2,p3);
order(p1,p2);
printf("%d,%d,%d",*p1,*p2,*p3);
}
void order(int *p,int *q)
{
int tmp;
if(*p<*q){
tmp = *p;
*p = *q;
*q = tmp;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
测开人小江
2006-12-13 · 正在努力工作,开心生活
测开人小江
采纳数:83 获赞数:680

向TA提问 私信TA
展开全部
上面的程序有错误,至少缺少头文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式