噫吁汐 2021-10-19 16:12 采纳率: 95%
浏览 53
已结题

c语言自定义函数输入三个数从大到小排列,排列顺序有误

#include <stdio.h>
int main()
{
float a,b,c,t;
scanf("%f %f %f",&a,&b,&c);
float change(float d,float e)
{
if(d>e)
{ t=d;
d=e;
e=t;}
return(d,e);
}
change(a,b);
change(a,c);
change(b,c);
printf("%g %g %g",c,b,a);
return 0;
}

输入55.2 62 22
应得到62 55.2 22
实际得到22 62 55.2

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-19 16:13
    关注

    return(d,e); 只能返回一个值。供参考:

    
    #include <stdio.h>
    void  change(float *d, float *e)//修改
    {
        float t;
        if (*d < *e)//修改
        {
            t = *d;
            *d = *e;
            *e = t;
        }
        //return(d, e);//修改
    }
    int main()
    {
        float a, b, c;
        scanf("%f %f %f", &a, &b, &c);
        change(&a, &b);//修改
        change(&a, &c);//修改
        change(&b, &c);//修改
        printf("%g %g %g", a, b, c);//修改
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月19日

悬赏问题

  • ¥15 关于#vue.js#的问题:word excel和ppt预览问题语言-javascript)
  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢
  • ¥15 vxworks交叉编译gcc报错error: missing binary operator before token "("