新手易錯集錦之main函數

新手易錯集錦
web

LINK : fatal error LNK1561編程

 必須定義入口點windows

main函數容易寫成mian函數。在C語言中缺乏主函數的時候都會報以上錯誤哦!相信不少剛開始學習C語言的小夥伴都會出現這樣的問題吧!vs中的錯誤提示以下:數組

main函數小知識

從開始學習C語言,你們彷佛看到了不少版本的main函數,那麼哪種纔是正確的呢?咱們先來看看目前有哪些版本。微信

1
雙無系列

沒有返回值,沒有入參app

main()

在C89標準中,這種寫法是能夠接受的,但使用如今的編譯器編譯時,會報告警,而且會將其返回值默認爲int。實際上,若是函數沒有顯式聲明返回類型,那麼編譯器會將返回值默認爲int。編輯器

2
雙空系列

參數爲void,返回值爲void函數

void main(void){}

這種形式的來源不得而知。可是爲什麼這麼多初學者使用?main函數的返回值最終會做爲程序的退出狀態,而一旦聲明爲void,在程序退出後,想要獲取其退出狀態也就不能夠了。所以不建議其返回值爲void。學習

3
有返回值系列

主函數帶int類型的返回值flex

這是常見的一種寫法。無形參,代表它在調用的時候不能傳入任何參數,那麼它也就不能獲取命令行參數了。這是小編教學時習慣用的一種寫法

4
有返回值有參系列

主函數帶int類型的返回值,主函數帶有兩個參數

int main(int argc,char *argv[])

這也是最多見的一種寫法。第一個入參爲命令行參數個數,第二個入參爲命令行參數數組。一般用於實現須要從命令行獲取參數的功能。小編在講文件操做的時候經過命令行參數簡單實現過windows系統中的copy指令不清楚的能夠去看看視頻教程。



到底使用哪一種呢?


C89/C99/C11標準文檔中只提供了兩種main函數的寫法

至此,咱們已經知道了c語言main函數的寫法,咱們來總結一下前面的內容:

  • C標準只提供了兩種main的形式。

  • 爲了可移植性,建議採用標準形式。

  • 聲明返回值時,默認爲int。

本文分享自微信公衆號 - C語言編程基礎(goodStudyCode)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索