c语言编程报错,简单程序

题目是输出a,b。c中最小数值
自学c语言,求帮忙看看哪里不对呀
#include
#include

int min(int a,int b,int c )
{
int z;
if(a<b) z=a;
{
if(a<c) z=a;
else z=c;
return (z);
}
else z=b;
{
if(b<c) z=b;
else z=c;
return(z);
}

}
main ()
{  int x,y,m;
    printf("Inpute three intgers:");
    scanf("%d,%d,%d",&x,&y,&m);
    z=min(x,y,m);
    printf("min=%d",z);
}

if和else不匹配
main中z没有定义

#include <stdio.h>

int min(int a,int b,int c )
{
    int z;
    if(a<b) 
    {
        z=a;
        if(a<c) z=a;
        else z=c;
        return (z);
    }
    else 
    {
        z=b;
        if(b<c) z=b;
        else z=c;
        return(z);
    }

}
int main ()
{  
    int x,y,m;
    printf("Inpute three intgers:");
    scanf("%d,%d,%d",&x,&y,&m);
    int z=min(x,y,m);
    printf("min=%d",z);
}

在调用函数中不要用z,换一个字母,要不然和主函数的z重名

十三行的括号移到十二行else后即可。。我就纳闷一楼为什么说是z的问题,z是局部变量。