c語言主函數(shù)后面的括號寫東西嗎
qq_慕桂英2059774
2016-10-13 23:20:08
TA貢獻883條經(jīng)驗 獲得超454個贊
main函數(shù)的參數(shù)列表中應該是寫東西的。
更準確地說,C標準規(guī)定main函數(shù)原型只有以下兩種形式:
int?main(void);??//?#1?不需要參數(shù)的版本 int?main(int?argc,?char?*argv[]);??//?#2?接受命令行參數(shù)的版本
并且,main函數(shù)的返回類型是int,不要寫成void。
所以,main函數(shù)的參數(shù)列表中永遠要寫東西,不應該留空!
你可能看到很多人在不需要main的參數(shù)時,將main的參數(shù)列表留空: int main()
這種寫法雖然可以編譯,但是很不規(guī)范。
C語言規(guī)定:如果函數(shù)不需要接受參數(shù),那么參數(shù)列表中要寫上void(就像main函數(shù)的#1形式那樣)。參數(shù)列表留空則表示該函數(shù)可以接受任何參數(shù),編譯器將不會對傳參進行類型檢查,這樣的代碼是有安全隱患的。 所以不僅對于main函數(shù),你寫的所有函數(shù),只要不打算接受參數(shù),都應該明確地在參數(shù)列表中寫上void。
TA貢獻1017條經(jīng)驗 獲得超1032個贊
一般來說沒有參數(shù),但是可以有參數(shù),特別是指針參數(shù)void main(int args,char * argv[])
舉報