C语言高手请进!!!!! 20
从键盘输入三个整数,要求设三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由大到小的顺序输出三个数....
从键盘输入三个整数,要求设三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后按由大到小的顺序输出三个数.
展开
3个回答
展开全部
上面的回答与原题目要求不一样(并且会产生错误),现修改如下:
#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中的值.
#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中的值.
展开全部
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;
}
}
{
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的程序有错误,至少缺少头文件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询