C語言沒有bool類型,需要自己來定義,同時IsPrime函數(shù)的變量i重復定義了修改如下。
創(chuàng)新互聯(lián)建站是網(wǎng)站建設技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的成都網(wǎng)站建設、成都網(wǎng)站制作,網(wǎng)站設計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十載品質(zhì),值得信賴!
#?include?stdio.h?????????????//這是代碼
typedef?enum??//定義bool類型
{
true??=?0,
false?=?1,
}bool;
bool?IsPrime(int?m)???????//第三行
{??
int?i;
for?(i?=?2;?i??m;?++i)//?多了一個int
{
if(m%i?==?0)
break;
}
if(i?==?m)
return?true;
else
return?false;
}
出現(xiàn)該錯誤的原因為編譯時只變編譯了源文件的一部分,故在鏈接時無法從編譯好的目標代碼中找到print函數(shù),所以出錯。
根據(jù)你的源文件結(jié)構(gòu),個人推薦先單獨編譯源文件為多個object文件,再統(tǒng)一鏈接。
方法如下
gcc?-c?main.c?#?-c參數(shù)的作用是讓gcc只編譯,不鏈接
gcc?-c?test.c
gcc?-o?main?main.o?test.o?#?將編譯好的目標代碼鏈接
當然,以上是在gcc為編譯器的前提下執(zhí)行,如使用clang等其他編譯器,方法類似(clang的調(diào)用方法與gcc高度兼容)
你把大括號的位置放錯了,sushu函數(shù)被定義在了main函數(shù)里面,但是按照C語言的規(guī)定,函數(shù)不允許嵌套定義,所以你的sushu相當于沒有定義(不知為何你的編譯器沒有報錯說不允許在函數(shù)內(nèi)定義函數(shù))。解決方法是把你最后面多出來的大括號移到main函數(shù)最后面。
聲明和定義不是一回事!聲明只是簽名,定義才為函數(shù)提供真正的代碼。
網(wǎng)站欄目:c語言函數(shù)未被定義 c語言函數(shù)未定義是什么意思
URL網(wǎng)址:http://www.rwnh.cn/article44/dohhcee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司、微信公眾號、靜態(tài)網(wǎng)站、品牌網(wǎng)站設計、定制開發(fā)、手機網(wǎng)站建設
聲明:本網(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)