C语言求助,请高手给点解释
//file1.c源程序文件清单/* 求两个整数中最小数*/
int min1(int a, int b )
{ if(a>b) return(b);
else
return(a);
}
//file2.c源程序文件清单
/* 求三个整数中最小数*/
int min2(int a, int b, int c)
{ int z,m;
z=min1(a,b);
m=min1(z,c);
return (m);
}
/*file3*/
#include "file1.c"
#include "file2.c"
main()
{ int x1,x2,x3,min;
scanf("%d,%d,%d",&x1,&x2,&x3);
min=min2(x1,x2,x3);
printf("min=%d\n",min);
}
以上程序的功能是将3个不同C 文件用文件包含命令来处理,输出3个数字中的最小值。在vs2008中,编译,运行,却出现了错误,具体提示如下:
1>file3.obj : error LNK2005: _min1 已经在 file1.obj 中定义
1>file3.obj : error LNK2005: _min2 已经在 file2.obj 中定义
1>D:\VS2008\lian xi jia\xin\Debug\xin.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
恳求高手给点解释,不胜感激!