c语言中如何在一个函数中调用在另个文件中定义的函数
#include<stdio.h>voidmain(){externvoidenter_string(charstr[]);externvoiddelete_string...
#include <stdio.h>
void main()
{
extern void enter_string(char str[]);
extern void delete_string(char str[], char ch);
extern void print_string(char str[]);
char c;
char str[80];
enter_string(str);
scanf("%c", &c);
delete_string(str, c);
print_string(str);
}
编译结果:
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
Error executing link.exe. 展开
void main()
{
extern void enter_string(char str[]);
extern void delete_string(char str[], char ch);
extern void print_string(char str[]);
char c;
char str[80];
enter_string(str);
scanf("%c", &c);
delete_string(str, c);
print_string(str);
}
编译结果:
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
Error executing link.exe. 展开
5个回答
展开全部
另一个文件与这个文件放到同一个工程里,一起编译,编译器就会自动链接到一起
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你必须要先包含该文件的头文件才行。否则用外部变量声明也没用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
另外的文件编译并和此文件连接了没
追问
不会啊,文件都编写完啦,然后编译和运行时有啥需要注意的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一、前提条件:
1、两个文件必须编入同一个可执行文件;
2、被调用函数必须是全局函数,即不能是static函数。如果有static修饰,那么必须写在头文件中,并被另一个文件引用。
二、声明:
1、可以声明在头文件中,并在调用文件中引用该头文件;
2、可以直接在调用文件声明,形式为
extern RET_TYPE FUNC_NAME(PARAM_LIST);
其中extern非必须,但一般都会写上,表示这个是其它文件定义的。
三、调用:
声明后,直接调用即可,和本文件函数调用方式并无区别。
注意事项:在部分C编译器中,对于函数声明检查并不严格,不声明直接调用也只是报警告,不会影响调用结果。 但推荐使用声明,可以减少出错概率。
1、两个文件必须编入同一个可执行文件;
2、被调用函数必须是全局函数,即不能是static函数。如果有static修饰,那么必须写在头文件中,并被另一个文件引用。
二、声明:
1、可以声明在头文件中,并在调用文件中引用该头文件;
2、可以直接在调用文件声明,形式为
extern RET_TYPE FUNC_NAME(PARAM_LIST);
其中extern非必须,但一般都会写上,表示这个是其它文件定义的。
三、调用:
声明后,直接调用即可,和本文件函数调用方式并无区别。
注意事项:在部分C编译器中,对于函数声明检查并不严格,不声明直接调用也只是报警告,不会影响调用结果。 但推荐使用声明,可以减少出错概率。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询