c語言中,return 0什麼時候不用加?

時間 2021-05-30 01:54:04

1樓:

理論上來說,只要是非void返回值型函式都必須加return。

雖然大多時候編譯器會幫你處理main()中忘記的return 0。

2樓:Linisdjxm

當main函式為ANSI標準規定的形式時。main函式任何時候都要加return(使用exit,quick_exit的情況除外,在這種情況下不需要return)。

當結果正常時返回0,不正常時返回非0

其他函式,

當為void func(...)時,不用加return函式(也可以使用return;提前退出)

當為其他形式時,必須加return(或exit,quick_exit)

3樓:gas town

return 0你是說main函式吧

所有函式(除了void型別)都必須加返回值至於main 標準定義必須是int並加返回值void main()是有些編譯器的私貨

4樓:夏之幻想

分為幾種情況:

函式不返回的情況下無須寫出return語句,例如無限迴圈、呼叫不返回的函式(exit, longjmp之類)等

函式返回,返回型別不是int的情況下,若返回型別是void則沒有寫出return的必要性,可在需要提前返回的情況下寫出return來返回,若返回型別是除int和void的其他情況下,使用對應型別的表示式返回

函式返回int的情況下,若函式是main函式時(也就是題主最可能問的一種情況),允許控制流直接通過執行過函式體直接離開,也即不寫出return語句來返回,返回值將隱式為0,若非main函式且需要返回的情況下,必須寫出return語句接返回的表示式,返回值即寫出的表示式,具體語義根據函式的編寫者定義,此時若控制流直接離開函式體則行為未定義(即錯誤)

5樓:在你回頭之前

蟹腰! c語言中的函式在建立時要定義型別吧。

那麼即可大致分為兩種型別的函式。

1:有返回值的(int,double,char等等)2:無返回值的(void)

先說第二種既然叫無返回值自然不用return任何東西這個很好理解。

那麼第一種則是題主要問到的問題了 ,return 0是指結束這個函式。那麼意思就是我寫入return 0的時候表明我這個函式功能已經結束了。 說明我已經有想要輸出的值了。。

這時候可以在函式內部寫return 0;但是如果我這個函式的功能是為了計算乙個值,並且我需要這個值來進行下一步運算的時候可以不用return 0; 可以return 這個函式的引數。以返回乙個值給這個函式來進行下一步的計算。

6樓:曾沿著雪路浪遊

主函式定義成void已經不符合標準了吧,其實return0只是返回0數字代表函式正確執行,現在主函式都要求定義成int所以原則上都要有return

7樓:百川灌河

其實簡單說的話,就是return 0;其實可以什麼時候都不用寫。

1、當函式是void型別是,沒有返回值,return都不用寫。

2、當函式是類似int型(多的不說)時,

(1)有時會返回乙個引數,這種情況你現在不用管。

(2)而返回0這種情況,只是說明你的函式跑完了,然後,就沒有然後了

(3)一般常用的還有就是返回-1,一般作為報錯用。這種情況先不說,

c語言return 0的作用是啥呢?

老闆吩咐你幹活,然後你幹完後,你要告訴老闆一下,這樣老闆才好給你安排下乙個任務。對於電腦來說,作業系統就是老闆,你寫的程式就是員工,執行完畢當然要向作業系統return 0匯報一下,然後作業系統決定接下來幹啥活。明白了嗎? 今晚月亮很美 因為有的時候呼叫這個C程式的批處理檔案也好Shell也好,需要...

Python語言什麼時候超過C語言?

湛翔 乙個是指令碼,乙個是接近底層的語言,兩個完全沒法比,主要應用領域也不同,在嵌入式領域Python的執行效率很多情況是無法接受的 貓科猿 語言只是工具,用合適的工具做對的事情.python 和 C 能互相替換交集很少,很多地方只能C才行.不過現在很多C的領域也開始用上了python,但還是要用C...

為什麼在C語言中靜態變數的初值是0?

gkmail 未初始化的靜態變數一般是分配在BSS段 程式載入時會對整個BSS段進行清 操作,因此這些靜態變數的初始值是 而臨時變數是分配在堆疊裡的,在進入函式時,並不會對函式使用的堆疊進行初始化操作,因此堆疊內的未初始化的臨時變數值是不確定的 zephyr z 對於變數 靜態和全域性只是作用域不同...