main()函式又稱主函式,是程式執行的起點,在乙個c程式中可以建立多個函式,但計算機總是先執行main()函式,學習的過程中我們可能會遇到多種main()函式形式,但哪一種才是正確的呢?
下面列舉了幾種常見的main()函式形式:
main()函式,沒有返回值,也沒有引數
#include
void
main
(void
)//void可以省略
main()函式,有返回值,且為int型別,但沒有引數
#include
intmain
(void
)//void可以省略
main()函式,既有int型別返回值,又有引數
#include
intmain
(int argc,
char
*ar**)
以上三種main()函式均能正確編譯並執行,但查閱c99/c11標準發現,標準規定main()函式必須是int型別,裡面明確固定了兩種寫法:
int
main
(void
)
int
main
(int argc,
char
*ar**)
因為系統要根據主函式的返回值判斷程式的執行狀態,返回0表示程式正常結束,返回非0值則表示程式異常結束,所以規定主函式必須是int型別。
對於第二種和第三種情況,有時候不寫return 0;
,編譯的時候既不會報錯,也不會報警,也可以成功執行,這是因為函式執行的時候,main函式會預設返回0值。
return 0;
有2 個作用:一是使main()函式終止,從而結束程式(如果main()函式的末尾沒有return語句,程式仍然能終止);二是表示main()函式返回值為0.
int
main
(int argc,
char
*ar**)
main函式能以字串陣列的形式讀取命令列引數。
由於c語言沒有內建字串,所謂字串陣列其實是乙個字元指標陣列,在c語言中,需要想辦法知道陣列的長度,所以main()函式有2個引數,argc的值用來表示陣列中元素的個數。
C語言的main函式你到底怎麼寫?
c程式一定從main 函式開始執行的 目前不考慮例外的情況 就是乙個大家遵守的規定。被寫到了c99規範 但是從開始學習c語言到現在,我們似乎看到了很多個版本的main函式,那麼哪一種才是正確的呢?main函式版本 main 如果瀏覽舊式的c 會發現程式以如下形式開始 include main 編譯執...
C語言main函式
c語言中main函式是可以帶引數的,平時寫倒是沒怎麼用這個引數,學習了一下這個引數。c語言規定了main函式只能有兩個引數,並且其型別也規定了,習慣上把他們寫成 main int argc char argv 第乙個引數是整形,第二個引數是指向字串的指標陣列,為什麼這麼定義?有什麼用?c語言還規定了...
部落格應該怎麼寫
雖然我們大部分在機房都呆了一年了,但是還是很多人對於部落格還是望而生畏,不能說是應付差事,但是總有一點一些部落格就頭疼的感覺,更有甚者,冥思苦想,最終寫出來的總是不敬人意。今天 大話 基本上都要看完了,其實對於這本書還是深有感觸的,以 大話 為題,說說部落格我們應該怎麼寫。與其抱怨需求總是在變化,不...