考慮 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程序的輸出)
問題
問題
小夥伴們看懂了嘛?希望對你們有幫助哦!
「編程筆記:int main和 int main(void)的區別?」相關視頻
-
3:54
-
4:10
-
10:11
-
6:46
-
10:04
-
14:39
-
5:13
-
2:54
-
8:27
-
3:36
科技分類資訊推薦
科技分類視頻推薦