找不到报错原因,大家一起来看看

#include<stdio.h>
int main()
{
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
};
int mix(int x;int y)
{
int z;
z=x<y?x:y;
return z;
};
int add(int x,int y)
{
int z;
z=x+y;
return z;
};
int process(int x,int y,int(*fun)(int,int))
{
int z;
if(*fun==max)
{
z=max(int,int);
}
else if(*fun==min)
{
z=min(int,int);
}
else
{
z=add(int,int);
};
return z;
}
int a,b;
printf("请输入俩个数");
scanf("%d %d",&a,&b);
printf("max=");
process(a,b,max);
printf("min=");
process(a,b,min);
printf("add=");
process(a,b,add);
return 0;
}

修改后如下

#include <stdio.h>
int max(int x, int y)
{
    int z;
    z = x > y ? x : y;
    return z;
};
int min(int x, int y)
{
    int z;
    z = x < y ? x : y;
    return z;
};
int add(int x, int y)
{
    int z;
    z = x + y;
    return z;
};
int process(int x, int y, int (*fun)(int, int))
{
    int z;
    if (*fun == max)
    {
        z = max(x, y);
    }
    else if (*fun == min)
    {
        z = min(x, y);
    }
    else
    {
        z = add(x, y);
    };
    return z;
}
int main()
{

    int a, b;
    printf("请输入俩个数");
    scanf("%d %d", &a, &b);
    printf("max=");
    process(a, b, max);
    printf("min=");
    process(a, b, min);
    printf("add=");
    process(a, b, add);
    return 0;
}