5-13在code blocks里面怎么编译啊
我用的code blocks,建立工程有一个main.c然后我又添加一个.c文件命名为test.c,把慕课网上的hello.c的内容复制到main.c,把test.c复制到test.c编译提示2个错误
E:\C语言学习练习\外部函数\test.c|2|multiple definition of `say'|
obj\Debug\main.o:E:\C语言学习练习\外部函数\test.c|2|first defined here|


2017-07-19
这样用的话,你应该建立test.h的头文件,而不是 .c 结尾的C语言文件,自定义头文件的格式入下:
/*test.h*/
#ifndef _TSET_H_ //第3、4和最后一行(24),是固定格式, _TSET_H_ 是 test.h 头文件固定形式
#define _TEST_H_
#include <stdio.h>
extern void say(); //头问价里的全局函数定义格式
void printLine(); //头文件内部函数定义,(注:该函数前面可以用extern,不影响运行结果)
void printLine() //函数内容
{
printf("**************\n");
}
void say(){
printLine();
printf("I love imooc\n");
printf("good good study!\n");
printf("day day up!\n");
printLine();
}
#endif/*main.c*/
#include <stdio.h>
#include "test.h" //引用 test.h 头文件
int main()
{
say(); //调用头文件里的全局函数
return 0;
}下面是编译运行的结果

不知道是否达到你心中的效果;
如果还有疑问,可以联系我哦~
举报