課程
/后端開發
/C
/C語言入門
答案給的就是這樣子 ?可是就是不能運行出和答案一樣
而且左邊答案運行出來怎么會有那么多東西能 ?明明代碼那里要printf的東西就只有**********而已 ? 至于其他的英文是從哪里來的呀?
2015-12-14
源自:C語言入門 5-13
正在回答
那些話在test.c中的say函數中。
不過這題目完全出錯了,別糾結這題了。
你應該已經看過這里的詳細解釋了?http://www.xianlaiwan.cn/qadetail/105343??如果還不太明白,就先跳過這節吧。
嗯...其實我覺得我的那個回答寫得還算比較詳細,要不你指出來哪里不懂,我試著再解釋下...
前因后果
onemoo 回復 前因后果
前因后果 回復 onemoo
super珊__ 提問者
你在“test.c”文件中把printLine()函數聲明一次
printLine()函數在hello.c文件聲明也可以,但要在#include"test.c"文件之前聲明
補充:extern的主要作用不在于定義外部變量或函數,而在于引用定義,如果在其他編譯器中去掉#include”test.c",不然會出現重定義(例如visual studio)。
因為文件hello.c的printLine()函數和test.c中的say()函數是被相互引用的,因此這兩個函數都應為外部函數,在兩個文件中都必須聲明引用。所以小編的答案是錯誤的!具體代碼如下:
hello.c文件中:
#include <stdio.h>#include "test.c"?? //引用test.c文件extern void say();void printLine()???? //這里定義的方法對嗎?{?? printf("**************\n");?? }int main(){??? say();??? return 0;}
test.c文件中:
#include <stdio.h>extern void printLine();void say(){??? printLine();??? printf("I love imooc\n");??? printf("good good study!\n");??? printf("day day up!\n");??? printLine();}
那為什么什么都調試不出來呢 ?錯在哪里了
say()應該是 test.c里定義的函數,然后里面調用了 這里的 printline,同時 print了一這一堆英文
不過 ,include .c我也是醉了
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答奇怪奇怪奇怪奇怪
2 回答為什么這樣得到答案那么奇怪,怎么不是57.2
2 回答好奇怪,求大神解答
1 回答真奇怪(—-—)
2 回答好奇怪。。。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-12-14
那些話在test.c中的say函數中。
不過這題目完全出錯了,別糾結這題了。
你應該已經看過這里的詳細解釋了?http://www.xianlaiwan.cn/qadetail/105343??如果還不太明白,就先跳過這節吧。
嗯...其實我覺得我的那個回答寫得還算比較詳細,要不你指出來哪里不懂,我試著再解釋下...
2016-02-03
你在“test.c”文件中把printLine()函數聲明一次
printLine()函數在hello.c文件聲明也可以,但要在#include"test.c"文件之前聲明
2016-01-22
補充:extern的主要作用不在于定義外部變量或函數,而在于引用定義,如果在其他編譯器中去掉#include”test.c",不然會出現重定義(例如visual studio)。
2016-01-22
因為文件hello.c的printLine()函數和test.c中的say()函數是被相互引用的,因此這兩個函數都應為外部函數,在兩個文件中都必須聲明引用。所以小編的答案是錯誤的!具體代碼如下:
hello.c文件中:
#include <stdio.h>
#include "test.c"?? //引用test.c文件
extern void say();
void printLine()???? //這里定義的方法對嗎?
{
?? printf("**************\n");??
}
int main()
{
??? say();
??? return 0;
}
test.c文件中:
#include <stdio.h>
extern void printLine();
void say(){
??? printLine();
??? printf("I love imooc\n");
??? printf("good good study!\n");
??? printf("day day up!\n");
??? printLine();
}
2015-12-14
那為什么什么都調試不出來呢 ?錯在哪里了
2015-12-14
say()應該是 test.c里定義的函數,然后里面調用了 這里的 printline,同時 print了一這一堆英文
不過 ,include .c我也是醉了