天天看點

C/C++程式設計筆記:“ int main()”和“ int main(void)”的差別?

考慮 main()的以下兩個定義:

int  main()

{

   return  0;

}

int  main(void)

{

   return  0;

}

有什麼不同?

在C ++中,沒有差別,兩者相同。

兩種定義都可以在C中使用,但是從技術上講,使用void的第二種定義在技術上被認為是更好的,因為它明确指出main隻能在沒有任何參數的情況下調用。

在C語言中,如果函數簽名未指定任何參數,則意味着可以使用任何數量的參數或不使用任何參數來調用該函數。例如,嘗試編譯并運作以下兩個C程式(請記住将檔案另存為.c)。注意fun()的兩個簽名之間的差別。

C/C++程式設計筆記:“ int main()”和“ int main(void)”的差別?

以上程式編譯和運作正常,但下面的程式在編譯失敗

C/C++程式設計筆記:“ int main()”和“ int main(void)”的差別?

與C不同,在C ++中,上述兩個程式均無法編譯。在C ++中,fun()和fun(void)都是相同的。

是以差別在于,在C語言中,可以使用任意數量的參數來調用int main(),但是隻能在不使用任何參數的情況下調用int main(void)。盡管大多數情況下并沒有什麼差別,但是在C語言中建議使用“ int main(void)”。

練習:(預測以下C程式的輸出)

問題①

C/C++程式設計筆記:“ int main()”和“ int main(void)”的差別?

問題②

C/C++程式設計筆記:“ int main()”和“ int main(void)”的差別?

小夥伴們看懂了嘛?希望對你們有幫助哦!

另外如果你想更好的提升你的程式設計能力,學好C語言C++程式設計!彎道超車,快人一步!

C語言C++程式設計學習交流圈子,Q群1030652847【點選進入】微信公衆号:C語言程式設計學習基地

分享(源碼、項目實戰視訊、項目筆記,基礎入門教程)

歡迎轉行和學習程式設計的夥伴,利用更多的資料學習成長比自己琢磨更快哦!

程式設計學習書籍分享:

C/C++程式設計筆記:“ int main()”和“ int main(void)”的差別?

程式設計學習視訊分享:

C/C++程式設計筆記:“ int main()”和“ int main(void)”的差別?

繼續閱讀