C语言 如何使用三个浮点指针作为参数,并按升序对它们指向的值进行排序解决程序

请问我这里是哪里出错了吗,特别是框出来的这一块,应该移动到哪里?我不太清楚,能不能告诉我一下,如果可以编程一下。谢谢。

img

img

代码如下:

#include <stdio.h>

void sort2(float* a,float *b)
{
    float t;
    if(*a > *b)
    {
        t = *a;
        *a = *b;
        *b = t;
    }
}




void sort3(float* x,float* y,float* z)
{
    sort2(x,y);
    sort2(x,z);
    sort2(y,z);
}

int main()
{
    float x,y,z;
    scanf("%f %f %f",&x,&y,&z);
    sort3(&x,&y,&z);
    printf("%f %f %f",x,y,z);
    return 0;
}