C语言编程时编译没有错误,运行时却显示有一个错误。为什么?

# include <stdio.h>
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;
}

显示的错误是:
Linking...
2.obj : error LNK2005: _main already defined in 1.obj
3.obj : error LNK2005: _main already defined in 1.obj
3.obj : error LNK2001: unresolved external symbol _max
Debug/1.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

exe - 1 error(s), 0 warning(s)
为什么啊 求指导 编程方面的小白

不没有写max函数的具体定义,在主函数中又要使用这个函数,系统找不到,自然就错了。你把max函数的定义写全了,就没事了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-21
重新建立一个项目 过 重新编译就可以。
第2个回答  2013-06-21
删掉
# include <stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
。。。
中的【int max(int x,int y);】本回答被网友采纳
第3个回答  2013-06-21
你没有写max()函数的原型啊,这让编译器怎么理解max()?
相似回答