有可能是兩個章節的不同例子,但是妳在妳的IDE的同壹個工程裏面添加了這兩個c文件,IDE就會發現fun這個函數在兩個c文件編譯出來的中間文件(obj)都有定義,所以呢,他並不會說:“哦,同壹個文件的優先”,而是會跟妳抱怨,說已經在blank1.obj裏面定義了。
解決辦法(任選壹個):
1.在工程裏面移除bank1.c。
2.或者在重命名bank1.c裏面的所有出現的fun為其他名字。
3.或者在bank1.c和modi1.c的定義那壹行的最前面加壹個static。
另外,初學編程,面對眾多工具都是英文版的是有些不適應,堅持啊。
(是用的Visual C++吧?建議妳裝壹個相應的MSDN,壹般都在同壹個DVD安裝盤上)妳試試選中(好像是雙擊就是了)錯誤窗口的modi1.obj : error LNK2005: _fun already defined in blank1.obj 這壹行,然後按F1,Visual C++就會打開MSDN幫助文檔(如果妳裝了MSDN的話)。
還有壹個建議就是,把英語當成壹門編程語言來學,因為程序太多的東西都要和英文打交道,比如那條錯誤信息,或者在線幫助文檔。
這裏是妳這個LNK2005的官方文檔: /en-us/library/72zdcz6f(VS.80).aspx
(直接點擊無效,全部拷貝到地址欄打開。)