編程筆記: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 ++中,上述兩個程序均無法編譯。在C ++中,fun()和fun(void)都是相同的。

因此區別在於,在C語言中,可以使用任意數量的參數來調用int main(),但是只能在不使用任何參數的情況下調用int main(void)。儘管大多數情況下並沒有什麼區別,但是在C語言中建議使用「 int main(void)」。

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

問題

問題

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