1樓:孝孝2mx戥
main函式是由系統呼叫的。 如果,你不涉及系統,那麼,你用不上main函式的返回值。 因此,你可以不加return 。
不過,如果,你定義main有乙個int型的返回值的話, 編譯器會在你沒有使用return的時候,給出乙個警告warn(不是錯誤error)。
2樓:手機使用者
這個的看彙編,應為計算機運算都是把資料存到記憶體中,在到函式的時候只保留下一步要執行位址的指標,暫存器壓棧以便返回使用。跳轉到函式的位址去執行,此刻暫存器中的值被改寫成函式的位址以及資料,當執行完成函式return pop出棧,把暫存器中的值用主函式的資料覆蓋子函式的資料,返回運算結果到主函式。這樣可以繼續執行。
執行什麼語句應為已經儲存了下一步要執行的位址就到那裡執行去了。 通俗點,沒return你子函式的值得不到(沒有指標很引用傳遞的情況下)&函式會紊亂,已經被子函式中的資料幹掉了,子函式也執行完畢---也不知道要執行什麼了---程式死掉,void型別預設新增返回,幫你新增return.
main函式return 和exit能同時出現嗎
3樓:網友
1全部main函式return 和exit一般不一起用。
1. exit用於在程式執行的過程中隨時結束程式,exit的引數是返回給os的。main函式結束時也會隱式地呼叫exit函式。
exit函式執行時首先會執行由atexit()函式登記的函式,然後會做一些自身的清理工作,同時重新整理所有輸出流、關閉所有開啟的流並且關閉通過標準i/o函式tmpfile()建立的臨時檔案。exit是結束乙個程序,它將刪除程序使用的記憶體空間,同時把錯誤資訊返回父程序,而return是返回函式值並退出函式。
2,return是語言級別的,它表示了呼叫堆疊的返回;而exit是系統呼叫級別的,它表示了乙個程序的結束。
3,exit函式是退出應用程式,並將應用程式的乙個狀態返回給os,這個狀態標識了應用程式的一些執行資訊。
4樓:網友
可以同時出現,但實際執行後,只會走乙個出口,先執行哪個就馬上退出main函式了。
乙個函式中,可以出現多個exit,也可以多個return,這些都是不同的函式出口。
當然,應用程式只有乙個入口,那就是main函式的首位址。
main函式加return會加快執行速度嗎?
5樓:到處參觀
不會。如果是早期編譯器,void main(){不需要額外加return。
如果是現在的編譯器,要求宣告為 int main(){必須加上return。
6樓:千葉紅樓夢
這個加速有兩種理解,一種是**的編譯速度,第二種是**的執行速度。
1:編譯速度,return 不會影響編譯速度,編譯只受你硬體效能和**複雜度影響。
2:**執行速度,加上return,它的意思是,在特定情況下或者條件下,允許你提前結束帶有return關鍵字之後的所有**。比如你乙個方法10行,你在第三行執行了return,則後面的7行都不會在執行,這樣理解的話是可以加快**的執行速度的。
3:如果方法有返回值,則必須有return關鍵字,表示為返回值。(void也可以有return,但是它表示結束方法)
還有提示一下,void表示無返回型別,int main代表此方法有返回時值,且必須為int型!!!沒聽過什麼早期編譯器和現在的編譯器之分。
函式什麼時候才學,初中什麼時候學習函式
初中的時候就開始學習函式了,不過那些是基本函式,像y kx b 一次函式,y ax bx c 二次函式,這些在初中的時候你必須要學紮實,其實不難的,只要你善於思考,我想你一定行的,等到高一開始接觸指數函式y a x 就是a的x次方,對數函式y logax 平時會解決一些三次乃至高次的函式,等到高二高...
什麼時候拼音後面要加g,漢語加拼音時,什麼時候加G
前鼻音不用加 後鼻音得加 舉個例子 進行 的 進 是前鼻音 jin 風景 的 景 後鼻音 jing 由於漢字的複雜,所以用前鼻音,後鼻音來區分。有前鼻音的沒有g,後鼻音的才有g。後鼻音!比如 ang ong等!漢語加拼音時,什麼時候加g 發音要領 區分前後鼻音,要從根本上把n ng這兩個鼻音區分開。...
lua呼叫函式什麼時候打點,什麼時候打冒號
冒號本身是一個語法糖 當一個table內的方法被以冒號呼叫的話表示把這個table作為第一個引數傳進去 寫個demo local t t.fun function tab,v print tab,v endt fun 123 t.fun t,123 這2個是相同的 所以根據你的function判斷是...