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
舉報
2017-07-20
這樣用的話,你應該建立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; }下面是編譯運行的結果
不知道是否達到你心中的效果;
如果還有疑問,可以聯系我哦~