C語言沒有bool類型,需要自己來定義,同時IsPrime函數(shù)的變量i重復(fù)定義了修改如下。
創(chuàng)新互聯(lián)專注于阜平企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,電子商務(wù)商城網(wǎng)站建設(shè)。阜平網(wǎng)站建設(shè)公司,為阜平等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
你把大括號的位置放錯了,sushu函數(shù)被定義在了main函數(shù)里面,但是按照C語言的規(guī)定,函數(shù)不允許嵌套定義,所以你的sushu相當(dāng)于沒有定義(不知為何你的編譯器沒有報錯說不允許在函數(shù)內(nèi)定義函數(shù))。
變量類型沒有指定。指定類型的方式與C++混淆了,特別是在.c文件中容易出現(xiàn)這種錯誤。變量指定了類型,但是與使用的變量名不符合,使用的變量名會提示為未定義。
出現(xiàn)該錯誤的原因為編譯時只變編譯了源文件的一部分,故在鏈接時無法從編譯好的目標(biāo)代碼中找到print函數(shù),所以出錯。根據(jù)你的源文件結(jié)構(gòu),個人推薦先單獨編譯源文件為多個object文件,再統(tǒng)一鏈接。
1、你把大括號的位置放錯了,sushu函數(shù)被定義在了main函數(shù)里面,但是按照C語言的規(guī)定,函數(shù)不允許嵌套定義,所以你的sushu相當(dāng)于沒有定義(不知為何你的編譯器沒有報錯說不允許在函數(shù)內(nèi)定義函數(shù))。
2、聲明和定義不是一回事!聲明只是簽名,定義才為函數(shù)提供真正的代碼。
3、0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}錯誤的地方太多了。首先上面這句的#define去掉。其次在keil里面聲明語句必須在所有賦值語句之前,想這句 int i=0;必須放到main函數(shù)的第一句。其它的有沒有還沒有細(xì)看。
出現(xiàn)該錯誤的原因為編譯時只變編譯了源文件的一部分,故在鏈接時無法從編譯好的目標(biāo)代碼中找到print函數(shù),所以出錯。根據(jù)你的源文件結(jié)構(gòu),個人推薦先單獨編譯源文件為多個object文件,再統(tǒng)一鏈接。
變量類型沒有指定。指定類型的方式與C++混淆了,特別是在.c文件中容易出現(xiàn)這種錯誤。變量指定了類型,但是與使用的變量名不符合,使用的變量名會提示為未定義。
void err_sys(const char *, ... );這樣只是聲明了一下,沒有對其定義,當(dāng)然會報錯,這個就相當(dāng)于printf()的函數(shù),只是它自己定義了一個新的,你去stdio.h頭文件里看看printf()怎么定義的。
Linux編譯動態(tài)庫時出現(xiàn)未定義main函數(shù)的問題,很可能是因為編譯器默認(rèn)把源文件作為可執(zhí)行程序進(jìn)行編譯。
在定義函數(shù)的.c文件中包含聲明函數(shù)的.h文件。
C語言沒有bool類型,需要自己來定義,同時IsPrime函數(shù)的變量i重復(fù)定義了修改如下。
本文題目:c語言現(xiàn)實函數(shù)沒定義 c語言函數(shù)未定義如何解決
文章網(wǎng)址:http://m.rwnh.cn/article32/dchjepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、微信公眾號、自適應(yīng)網(wǎng)站、網(wǎng)站制作、網(wǎng)站設(shè)計公司、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)