c語言如何定義沒有返回值的main函式

時間 2021-05-11 23:04:36

1樓:張浩

永遠都應該寫成int main(void)或者int main(int argc, char* argv)

void main? 不知道從哪傳出來的寫法

2樓:穀雨同學

無論如何,使用void作為返回值型別的main函式都是不符合標準的。請在任何情況下都避免這樣寫。

但是main函式可以不寫return語句,即便它要求返回int型別。此時編譯器會在函式結尾自動加入return 0;。

3樓:冰封的海盜

void main(void)

按照C標準,沒有返回值的main是非法的,某些編譯器可能通過,但不同環境下執行時可能會引起錯誤。

4樓:

一定要反對「沒有返回值的主函式」,這種寫法稱為「譚(譚浩強)氏寫法」,或者是「中國教育式寫法」,根據我的經驗,主函式的返回值是由作業系統接收的,0代表成功,1代表失敗,具體看圖。

無返回值的主函式,可能會在某些細微的地方產生影響,但我暫時還沒有遇到。

5樓:碎月蒼瀾

在Microsoft Visual Studio2015中兩種寫法都不會報錯

拿不定主義就去上手試,機器每次執行都是固定的。

C語言為什麼要定義short,int,long這麼多整數型別?

WangKX 這問題有意思,那為什麼碗盤要分大中小,無非是區別飯菜的份量,你能吃一小碗飯我不會給你盛一大海碗那是浪費糧食。整數型別也一樣,型別不同儲存的資料範圍不同,但佔用的記憶體也不同,你儲存幾萬之內的數字用個short就行,用int浪費記憶體 傳統的幻想書屋 其實就是歷史設計侷限了,當時存在一個...

C語言中函式的定義中 比如void print 括號裡面可以使空白嗎,像void main 就可以,前者這麼寫對嗎?

看到過一種說法是c中function 等價於function 即引數任意可變 無論型別還是數量 而 void 則是強制要求沒有引數,所以是完全不一樣的。對這種模糊的區別,最好的辦法就是別挑戰它,按確定無二意的寫法寫,別給自己找不痛快。 Victorique 詳細見此 http 簡而言之,C 可以省v...

在c語言中可以如下定義嗎?

我去我 不可以,不要去想著奇怪的寫法,計算機看不懂的,雖然可以編譯通過,但是和你的目標相差十萬八千里。二義性放在這裡也不準確,因為程式設計中一段話的意思就是唯一的,而且唯一的那個就是計算機執行的那個即使你覺得應該是別的樣子,但是還是得聽計算機的,你的想法是錯的 DJ Hitori if語句的括號裡寫...

C語言兩數定義正確,相乘溢位的原因?

學生甲 這個涉及到C語言中的型別提升問題。語句1 long a 111 111 111 111 語句2 int b 111 111 long a b b 語句3 long b 111 111 long a b b 語句1和語句2其實是等價吧。計算機在執行語句1時,把表示式111 111 111 11...

C語言如何支援C 過載?

強行吐槽一下。即編譯器可以通過函式名和形參型別的匹配實現過載,不可以根據返回型別實現過載 誰說編譯器不可以根據返回值的型別過載的?只是 C 設計上沒有把返回值當作過載條件的一部分而已,語言語義上僅僅根據返回值不同來實現過載是沒有任何問題的。比如 Swift 有接近的用法 當然這裡是表示式不是函式呼叫...