一、Int main和void main有什么區(qū)別
1、有無返回值
void main沒有返回值,int main有返回值。
2、返回值類型
int main返回int類型的數(shù)據(jù),void main不返回。
但是在C語言推薦寫法中,建議使用int main,因?yàn)樵谟械木幾g器雖然viod main可以通過編譯,但在其他編譯器就會(huì)報(bào)錯(cuò)。為了代碼擁有更好的可移植性,一般寫int main。
補(bǔ)充:
至于什么時(shí)候需要哪種寫法,沒必要較真。可以一律都寫成 int main ,然后在方法體中最后加個(gè)return 0 ;就行了,這樣寫基本上所有的編譯器都可以通過。
main函數(shù),又稱主函數(shù)。作為絕大部分C程序少數(shù)的入口(比如windows編程中可以編寫一個(gè)其他windows程序都可以使用的動(dòng)態(tài)鏈接庫(DLL)模塊,由于DLL模塊不是獨(dú)立的程序,因此不需要main函數(shù)。再比如,用于專業(yè)環(huán)境的程序(如機(jī)器人中的控制芯片有可能不需要main函數(shù)),是要求有返回值的,該返回值返回給操作系統(tǒng)來表明改程序的執(zhí)行狀況。
返回0代表程序正常執(zhí)行成功,返回非0值代表程序異常結(jié)束,因此返回值需要是int整型,于是有了int main()的規(guī)范。如果使用void main,既聲明主函數(shù)沒有返回值的話,程序隨能編譯、運(yùn)行成功,卻不利于操作系統(tǒng)判斷其狀態(tài),這對(duì)于由很多C程序構(gòu)成的大型項(xiàng)目來說是可能會(huì)是致命的。
延伸閱讀:
二、主函數(shù)返回值使用建議
這個(gè)使用建議,不代表標(biāo)準(zhǔn)說法,只是我總結(jié)了老師和一些專業(yè)計(jì)算機(jī)同學(xué)的一些編程風(fēng)格。在這里分享給大家。也希望大家能夠跟我一起交流。
1、void main()為老式的寫法。VC 6.0及之前的VC使用這樣的寫法。
2、int main() 和 int main(int argc, char* argv[]) 等返回值為整型為新的寫法。
3、盡量采用返回值為整型的寫法。如果僅僅是為了方便,也可以采用無返回值。