考慮 main()的以下兩個定義:
int main()
{
/* */
return 0;
}
和
int main(void)
{
/* */
return 0;
}
有什麼不同?
在C 中,沒有區别,兩者相同。
兩種定義都可以在C中使用,但是從技術上講,使用void的第二種定義在技術上被認為是更好的,因為它明确指出main隻能在沒有任何參數的情況下調用。
在C語言中,如果函數簽名未指定任何參數,則意味着可以使用任何數量的參數或不使用任何參數來調用該函數。例如,嘗試編譯并運行以下兩個C程序(請記住将文件另存為.c)。注意fun()的兩個簽名之間的區别。
以上程序編譯和運行正常,但下面的程序在編譯失敗
與C不同,在C 中,上述兩個程序均無法編譯。在C 中,fun()和fun(void)都是相同的。
因此區别在于,在C語言中,可以使用任意數量的參數來調用int main(),但是隻能在不使用任何參數的情況下調用int main(void)。盡管大多數情況下并沒有什麼區别,但是在C語言中建議使用“ int main(void)”。
練習:(預測以下C程序的輸出)
問題①
問題②
小夥伴們看懂了嘛?希望對你們有幫助哦!
另外如果你想更好的提升你的編程能力,學好C語言C 編程!彎道超車,快人一步!
編程學習書籍分享:
編程學習視頻分享:
分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比自己琢磨更快哦!
C語言C 編程學習交流圈子,點擊下方【了解更多】獲取更多學習資料幫助你學習成長!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!