求输入的三个整数中的最大值遇到的问题

我想求三个输出值中的最大值
但是我的代码老是达不到运行的效果
求大家帮我看看问题出在哪

#include 
int main()
    {
    int max(int x, int y,int z);
    int a, b, c, d,t;
    scanf_s("%d,%d,%d", &a, &b, &c);
    d = max(a,b,c);
    printf("最大值为%d",d);
    return(0);
    }
int max(int x, int y, int z)
    {
    int l{};
    if (x > y > z or x > z > y) l = x;
    else if (y > x > z or y > z > x) l = y;
    else if (z > y > x or z > x > y)l = z;
    else printf("输入了一样的数字或程序出错");
    return(l);
    }

if (x > y > z or x > z > y)
这么写达不到你想要的效果

#include <stdio.h>
int main()
    {
    int max(int x, int y,int z);
    int a, b, c, d,t;
    scanf_s("%d,%d,%d", &a, &b, &c);
    d = max(a,b,c);
    printf("最大值为%d",d);
    return(0);
    }
int max(int x, int y, int z)
    {
        int m = x;
        if(y>m)
            m = y;
        if(z>m)
            m = z;
        return m;
    }
 

你这奇葩代码,咋想的???能不能按正常人的逻辑来?

#include <stdio.h>
int main()
{
    int max(int x, int y,int z);
    int a, b, c, d,t;
    scanf("%d,%d,%d", &a, &b, &c);
    d = max(a,b,c);
    printf("最大值为%d",d);
    return(0);
}

int max(int x, int y, int z)
{
    int max = x;
    if (max < y)
        max = y;
    if (max < z)
        max = z;
    return max;
}