一个简单的多文件C程序 我们总是出现error LNK2001: unresolved external symbol

程序是这样的:file1.c#include<stdio.h>intmain(){//对函数的声明externvoidenter_string(charstr[]);ex... 程序是这样的:
file1.c

#include<stdio.h>
int main()
{
//对函数的声明
extern void enter_string(char str[]);
extern void delete_string(char str[]);
extern void print_string(char str[]);
//以下3行声明在本函数中将要调用的是已在其他文件中定义的3个函数
char c,str[80];
enter_string(str);
scanf("%c",&c);
delete_string(str,c);
print_string(str);
return 0;
}
file2.c
void enter_string(char str[80]) //定义外部函数enter_string
{
gets(str); //向字符数组输入字符串
}
file3.c
void delete_string(char str[],char ch) //定义外部函数delete_string
{
int i,j;
for(i=j=0;str[i]!='\0';i++)
if(str[i]!=ch);
str[j++]=str[i];
str[j]='\0';
}
file4.c
void print_string(char str[]) //定义外部函数print_string
{
printf("%s\n",str);
}
出现的错误是:
Linking...
file1.obj : error LNK2001: unresolved external symbol _print_string
file1.obj : error LNK2001: unresolved external symbol _delete_string
file1.obj : error LNK2001: unresolved external symbol _enter_string
Debug/file1.exe : fatal error LNK1120: 3 unresolved externals
执行 link.exe 时出错.

file1.exe - 1 error(s), 0 warning(s)
应该怎么办
展开
 我来答
郝在益
2013-08-27 · TA获得超过2079个赞
知道小有建树答主
回答量:1496
采纳率:54%
帮助的人:612万
展开全部

没什么问题啊,很好啊。就几个小问题,编译通过了啊。

一个文件:

#include<stdio.h>
int main()
{   
extern void enter_string(char str[]); 
    extern void delete_string(char str[],char); //这个函数是有2个参数的
extern void print_string(char str[]);
    
char c,str[80];
enter_string(str);
scanf("%c",&c);
delete_string(str,c);
print_string(str);
return 0;
}

第二个文件:

#include <stdio.h> //需要加上头文件

void enter_string(char str[80]) 
{
gets(str);         
}

void delete_string(char str[],char ch) 
{
int i,j;
for(i=j=0;str[i]!='\0';i++)
if(str[i]!=ch) //多了一个分号
str[j++]=str[i];
    str[j]='\0';
}

void print_string(char str[]) 
{
printf("%s\n",str);
}

下面是截图:

依我的经验来看,你出现这个问题,有可能是没有将几个文件放在同一个工程里面。

你看看我的,我是把2个源文件放在同一个工程里面,所以没有出问题。

追问
4个都加进去了 
现在出现了
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/file4.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式