新人求指导,编译没有关问题,执行时有个异常

新人求指导,编译没问题,执行时有个错误
#include<stdio.h>
int main() //定义主函数
{
 int max(int x,int y); //对被调用的函数max的声明
 int a,b,c; //定义变量a,b,c
 scanf("%d%d",&a,&b); //输入变量a好b的值
 c=max(a,b); //调用max函数,将使用的值赋给c 
 printf("max=d%\n",c); //输出c的值
 return 0;  
}
 int max(int x,int y) //定义max函数,函数值为整型,形式参数X和y为整型
{
 int z; //max函数中的声明部分,定义本函数中用到的变量z的整型 
 if(x>y)z=x; //若x>y成立,将x的值赋予变量z
 else z=y; //否则(即x>y不成立),将y的值赋予变量z 
 return(z); //将z的值作为max函数值,返回到调用的max函数的位置 
}

这是我的程序,为什么编译通过 连接的时候出现one or more multiply defined symbols found 的错误啊 哪位大神指导下啊 谢谢

------解决方案--------------------
printf("max=d%\n",c); //输出c的值
-》
printf("max=%d\n",c); //输出c的值