C 語言中 main void main 和 int main void 有什麼區別?

時間 2021-05-31 05:12:28

1樓:Cosmia Fu

為啥沒人用這種形式呢?

int main(int argc, char** argv) /* 我比較喜歡這一種 */

和int main(int argc, char** argv, char** env)

2樓:Leon

int main(void)表示返回乙個整數值,不接收任何引數。

main()按照老的C語言標準,不寫返回值的函式預設返回型別為整形。空的括號表示可以接收任意個數任意型別的引數。void main()的空括號表示可以接收任意個數任意型別的引數。

在一般函式裡void表示沒有返回值。但是這個在main函式裡面有點特殊,按照C99標準的5.1.

2.2.3節描述,程式依然會返回乙個unspecified的值。

(實際上這一節的內容也隱喻了main函式可以不是int main(void)的形式)

3樓:白如冰

補充一下,

C中,func()表示函式接受任何實參,func(void)表示形參表為空

C++中,func()和func(void)都表示形參表為空,而func(...)相當於C裡的func()

4樓:

main()是K&R C的語法,也就是C89,現在可以使用,但是不推薦。

int main(void)是c99的語法。

void main()不是任何標準定義的,根據維基百科 C語言 的說法,這個是微軟自己定義的。

c語言中,main int main void int main void main 有什麼區別?

PegasusWang 這篇文章講了為什麼void main是錯的,還有main各種寫法。 楊高峰 main 老式的寫法。返回型別int在新型的編譯器不可省略,否者會有警告。int main void 新式的寫法 int main 新式的寫法 void main 老式 不標準的寫法。6.0及之前的V...

c語言中 include stdio h , 的作用是什麼,為什麼不能去掉 ?

nullptr 表示這是預處理語句,由預處理器來處理。至於為啥是 這就是語法設計的事情了,也可以設計成 include等等。C C 標準已經規定是 開頭了,編譯器都是以檢測這個符號來做判定了,所以你如果想去掉,那麼就要去改C C 的編譯器,做乙個屬於你自己的編譯器。 程式設計思維 號表示這一行後面的...

C語言中的選擇排序?

郭建波 選擇排序的過程 陣列排序前 7 23 12 4 33 21 2 17 13 9 第一輪迴圈 2 23 12 4 33 21 7 17 13 9 第二輪迴圈4 12 23 33 21 7 17 13 9 第三輪迴圈7 23 33 21 12 17 13 9 第四輪迴圈9 33 21 12 17...