问题描述
我是 C 和编程的新手。 我在 Windows 10 上,我刚刚安装了 Dev-C++,我正在学习如何从其他文件调用函数:我编写了这个函数来对两个数字求和,并从主脚本中调用它。
问题是,当我编译 func.c 文件时,我收到了标题错误,所以如果我运行主文件,它无法识别“sum”函数。 这是 main.c 文件:
#include <stdio.h>
#include "func.h"
main(){
int x,y,s;
scanf("%d %d",&x,&y);
s = sum(x,y);
printf("\n%d",s);
}
这是头文件:
#ifndef FUNC_H_INCLUDED
#define FUNC_H_INCLUDED
int func(int a,int b);
#endif // FUNC_H_INCLUDED
#include <stdio.h>
#include "func.h"
int func(int a,int b){
return(a+b);
}
我确实阅读了很多其他问题,但它们对我的情况没有帮助,或者我没有得到棘手的答案。 谢谢。
解决方法
如果您使用的是 Embarcadero 的 Dev-C++。我使用他们的免费编译器,因为它是“可移植的”。
func.c
和 func.h
都包含一个名为 func
的函数,而您的主文件有一个名为 sum
的函数,您必须在名称上保持一致,您可以这样做s=func(x,y)
应该可以工作,但好的做法是反其道而行之,将其他文件中的 func
替换为 sum
。
而且必须编译这3个文件,编译1个或2个是不够的。
使用 Embarcadero 的免费编译器编译它们:
C:\path\to\compiler\bcc32x func.c func.h main.c
它会给你 main.exe
,你可以从命令提示符运行。