c++请问怎么在比较两个数的基础上变成三个数的比较

刚开始学代码,想问一下怎么在比较两个数的代码基础上变成三个数的比较
#include
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%D\n",c);
return 0;
}

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

#include <stdio.h>
int main()
{
int max(int x,int y);
int max(int a, int b, int c);
int a,b,c,d;
scanf("%d,%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
int max(int a, int b, int c)
{
return max(a, max(b, c));
}

问题解决的话,请点下采纳

直接进行宏定义:
#define MAX(a,b) (a)>(b)?(a):(b)
#define MAX3(a,b,c) (a)>(MAX(b,c))?(a):(MAX(b,c))