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