vc 2010 main 函式沒有return為什麼不報錯誤

2025-07-28 03:01:47 字數 2851 閱讀 3890

1樓:黎約踐踏炁癿

ansi/iso c++標準做出的讓步,如果編譯器到達main()函式末尾沒有遇到返回語句,則認為main()函式以如下語句結尾: return 0; 這條隱含的返回語句只適用於main()函式。 至於具體如何實現,取決於編譯器了。

編譯器尊不遵守這個規則,也要具體看。 若想驗證,可以看反彙編**。windows下通常用eax存放函式的返回值的。

沒有return為什麼還沒錯誤

2樓:網友

c/c++沒有return確實不算錯誤,但一般會有警告資訊。

3樓:網友

return只是乙個返回接手值的資料變數。

例如程式執行完成後會返回1,執行失敗後會返回0。

具體的用法我也不是很清楚,因為我見過大神有用這玩意直接做程式模組的判斷,非常的神奇。

所以就算是不寫也沒事。

j**a的main函式為什麼沒有返回值?

4樓:網友

public static void main(string args)

void 的意思就是沒有返回值。

而不是空。你也可以把主函式的返回型別改為int string 等。

c語言中main函式可以沒有return語句嗎

5樓:網友

可以,但是return語句有助於檢錯,可以返回控制權給系統,防止被利用這個漏洞。

6樓:匿名使用者

感覺可以,平常我也不加。

7樓:海同職座標**

main沒有return函式,則預設返回乙個隨機值。啟動該程式的程序不能判斷該程式是正常結束還是非正常結束。

8樓:璐人釔

看你的main是什麼型別咯,void的話就不用也行。

沒有return為什麼還沒錯誤

9樓:金色潛鳥

主函式 的return 值 是供作業系統用的,若忘了寫,聰明的編譯器會假定 return 0;就不算錯誤,也沒有 警告資訊。你的編譯器屬 聰明的編譯器。

一般 有返回值型別的 自定義函式,就必須寫return語句,明確返回的數值。不寫,會有警告資訊。

10樓:網友

c/c++沒有return確實不算錯誤,但一般會有警告資訊。

因為什麼c語言中的main函式不為void時寫不寫「return(0);」時都可以?已知:不寫時報

11樓:聚成都

main函式應當定義為int main(),也就是給予系統程式終了返回值乙個int,且正常終了時用return返回值為0。定義為void,或者是不寫return,多數是由編譯器自動指定乙個不確定的返回值。諸如譚浩強之類的初級c教程中會用void main及省略return,不說他是錯誤的至少也是不規範不恰當的程式設計。

急~~~~c語言問題:為什麼把函式寫在主函式後面,但沒在主函式內宣告,卻沒有報錯?

12樓:隨意的風

在c語言中,如果定義函式時選擇預設返回型別(即int型別),則這個函式放在任意位置都是可以被別的程式呼叫的,而且編譯無誤~ 但是這是乙個很大的陷阱。你會發現當你給那個函式任意個引數時,編譯也能通過,還能執行,但是很可能產生錯誤。

樓主如果你試試 在main裡 這麼寫 看看結果。

1、 sudu(4,i,100,4,5,6)2、sudu(i)

3、sudu(4)

你可以參考c語言函式宣告的陷阱~

13樓:網友

這裡是個 隱式宣告 問題。

c語言的編譯器 在沒有發現函式原型的 時候 會 自動產生乙個 隱式的函式宣告。

這個隱式的函式宣告 的返回值 是int

14樓:網友

應該是你程式設計軟體的問題。只要軟體沒問題,前面沒有任何定義,肯定會提示sushu(i)未定義的。

15樓:網友

被調函式寫在主函式後面是被允許的,但是在主函式內部進行宣告,宣告方法具體是。

void main()

型別說明 sushu(int n);

就是跟定義乙個函式一樣的。

16樓:網友

warning c4013: 'sushu' undefined; assuming extern returning int

這個只報warning,這是因為在c++的編譯環境下。

17樓:死亡v沉默

表示 報錯 編譯器問題吧。

c語言中 int main() 為什麼可以不寫return

18樓:諸葛墨槿

這個不是程式問題,可能是編譯器問題,又或者**是空的根本就沒有編譯。

19樓:陽光慕紫

你得把整個程式發過來,不是因為int main()而沒有return,而是函式如果是viod就可以沒有return。也許你的意思是主函式最後的return 0?那個其實return不return都沒什麼關係的說……

20樓:網友

不會報錯,但會有乙個警告。

vc++2010 中return s->top->data s提示錯誤是怎麼回事

21樓:網友

typedef char datatype; //別忘了後面的分號。

如何在vc中 定義函式,vc的名稱定義

哦,你在用square這個函式之前你的宣告它,在include 的下一行寫上它的宣告 include int square int y int main int i for i i i cout square i coutint square int y return y 這樣就可以,以後凡是後面要...

c語言寫函式求字串的長度在main函式

1.迴圈讀取,直到為 0 時,則是字串結尾。include 計算字串str長度,並返回 回int lenstr const char str int main include int longs char s void main 程式已經 dao修改了,可以回執行,主要錯誤答已經標出 傳入引數應該是...

C語言main()前可以放哪些限定的函式

c語言不限定函式源 在原始檔中的位置,但是函式內的識別符號同函式外的識別符號一樣也必須滿足使用的識別符號先宣告後引用的原則。編譯器對於每個編譯單元 原始檔 順序掃描源 如果之前遇到過宣告,那麼會根據宣告的內容假定它的定義在當前原始檔中或者在另外的原始檔或庫檔案中,這樣不會出現錯誤。否則就會當作未定義...