为什么出现这么多的错误应该怎么修改(要求调用函数)

#include<stdio.h>
int compare(int x,int y,int z)
{
int x,y,z;
int max;
scanf("%d%d%d",&x,&y,&z);
if(x>=y)
{
max=x;
}
else if(z>max)
{
max=z;
}
else
{
max=y;
}
return (max);
}

int main()
{
int compare(int x,int y,int z)
int a,b,c,max;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
max=compare(a,b,c);
printf("%d",max);
}
return 0;
}

img

img


#include <stdio.h>

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

int main()
{
    int compare(int x, int y, int z);
    int a, b, c, max;
    while (scanf("%d%d%d", &a, &b, &c) != EOF)
    {
        max = compare(a, b, c);
        printf("%d\n", max);
    }
    return 0;
}