c语言 error LNK2005 菜鸟问题 急急急~
来源:百度知道 编辑:UC知道 时间:2024/05/08 04:45:28
程序是对书上打的 应该没问题
#include <stdio.h>
#include <string.h>
#define N 80
void fun(char *s, char t[])
{ unsigned int i, j=0;
for(i=0; i<strlen(s); i++)
/***********found**********/
if(i%2 || s[i]%2==0)
t[j++]=s[i];
/***********found**********/
t[j]=0;
}
main()
{ char s[N], t[N];
printf("\nPlease enter string s : "); gets(s);
fun(s, t);
printf("\nThe result is : %s\n",t);
}
但总是modi1.obj : error LNK2005: _fun already defined in blank1.obj
这话到底什么意思?
经常出这样现error LNK2005 ,真打击我学c语言的激情了。
谁能指点下我 先谢啦
#include <stdio.h>
#include <string.h>
#define N 80
void fun(char *s, char t[])
{ unsigned int i, j=0;
for(i=0; i<strlen(s); i++)
/***********found**********/
if(i%2 || s[i]%2==0)
t[j++]=s[i];
/***********found**********/
t[j]=0;
}
main()
{ char s[N], t[N];
printf("\nPlease enter string s : "); gets(s);
fun(s, t);
printf("\nThe result is : %s\n",t);
}
但总是modi1.obj : error LNK2005: _fun already defined in blank1.obj
这话到底什么意思?
经常出这样现error LNK2005 ,真打击我学c语言的激情了。
谁能指点下我 先谢啦
在你的bank1.c 和modi1.c里面都定义了fun这个函数。
有可能是两个章节的不同例子,但是你在你的IDE的同一个工程里面添加了这两个c文件,IDE就会发现fun这个函数在两个c文件编译出来的中间文件(obj)都有定义,所以呢,他并不会说:“哦,同一个文件的优先”,而是会跟你抱怨,说已经在blank1.obj里面定义了。
解决办法(任选一个):
1.在工程里面移除bank1.c。
2.或者在重命名bank1.c里面的所有出现的fun为其他名字。
3.或者在bank1.c和modi1.c的定义那一行的最前面加一个static。
另外,初学编程,面对众多工具都是英文版的是有些不适应,坚持啊。
(是用的Visual C++吧?建议你装一个相应的MSDN,一般都在同一个DVD安装盘上)你试试选中(好像是双击就是了)错误窗口的modi1.obj : error LNK2005: _fun already defined in blank1.obj 这一行,然后按F1,Visual C++就会打开MSDN帮助文档(如果你装了MSDN的话)。
还有一个建议就是,把英语当成一门编程语言来学,因为程序太多的东西都要和英文打交道,比如那条错误信息,或者在线帮助文档。
这里是你这个LNK2005的官方文档: http://msdn.microsoft.com/en-us/library/72zdcz6f(VS.80).aspx
(直接点击无效,全部拷贝到地址栏打开。)
运行正常,你重启一下软件你可以用CTRL+f5运行试试。上面的语句是说你已经在blank1.obj 中定义了fun.定义重复。
重复定义
C语言declaration syntax error
c语言问题:error C2059: syntax error : ']'
倾家荡产求助:“C语言 declaration syntax error”
c语言问题 Floating point error: Overflow.
c语言中的floating point error:domain
在C语言中Divide error是什么意思?
请问C语言中的Argument list syntax error是什么错误?
c 语言中Divide error 是什么意思 如何处理?
c语言的错误:declaration syntax error是什么意思?
c语言中出现了floating point error:domain