從開始學習C語言,你們彷佛看到了不少版本的main函數,那麼哪種纔是正確的呢?咱們先來看看目前有哪些版本。微信
沒有返回值,沒有入參app
main()
在C89標準中,這種寫法是能夠接受的,但使用如今的編譯器編譯時,會報告警,而且會將其返回值默認爲int。實際上,若是函數沒有顯式聲明返回類型,那麼編譯器會將返回值默認爲int。編輯器
參數爲void,返回值爲void函數
void main(void){}
這種形式的來源不得而知。可是爲什麼這麼多初學者使用?main函數的返回值最終會做爲程序的退出狀態,而一旦聲明爲void,在程序退出後,想要獲取其退出狀態也就不能夠了。所以不建議其返回值爲void。學習
主函數帶int類型的返回值flex
這是常見的一種寫法。無形參,代表它在調用的時候不能傳入任何參數,那麼它也就不能獲取命令行參數了。這是小編教學時習慣用的一種寫法
主函數帶int類型的返回值,主函數帶有兩個參數
int main(int argc,char *argv[])
這也是最多見的一種寫法。第一個入參爲命令行參數個數,第二個入參爲命令行參數數組。一般用於實現須要從命令行獲取參數的功能。小編在講文件操做的時候經過命令行參數簡單實現過windows系統中的copy指令不清楚的能夠去看看視頻教程。
C89/C99/C11標準文檔中只提供了兩種main函數的寫法:
至此,咱們已經知道了c語言main函數的寫法,咱們來總結一下前面的內容:
C標準只提供了兩種main的形式。
爲了可移植性,建議採用標準形式。
聲明返回值時,默認爲int。
本文分享自微信公衆號 - C語言編程基礎(goodStudyCode)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。