exit(0):正常執行程式並退出程式;
exit(1):非正常執行導致退出程式;
return():返回函式,若在主函式中,則會退出函式並返回一值。
詳細說:
1. return返回函式值,是關鍵字; exit 是一個函式。
2. return是語言級別的,它表示了呼叫堆疊的返回;而exit是系統呼叫級別的,它表示了一個程式的結束。
3. return是函式的退出(返回);exit是程式的退出。
4. return是C語言提供的,exit是作業系統提供的(或者函式庫中給出的)。exit是一個庫函式,exit(1)表示發生錯誤後退出程式,exit(0)表示正常退出。在stdlib.h中exit函式是這樣子定義的:void exit(int status)。這個系統呼叫是用來終止一個程式的,無論在程式中的什麼位置,只要執行exit,程式就會終止程式的執行。講到exit這個系統呼叫,就要提及另外一個系統呼叫,_exit,_exit()函式位於unistd.h中,相比於exit(),_exit()函式的功能最為簡單,直接終止程式的執行,釋放其所使用的記憶體空間,並銷燬在記憶體中的資料結構,而exit()在於在程式退出之前要檢查檔案的狀態,將檔案緩衝區中的內容寫回檔案。
5. return用於結束一個函式的執行,將函式的執行資訊傳出給其他呼叫函式使用;exit函式是退出應用程式,刪除程式使用的記憶體空間,並將應用程式的一個狀態返回給OS或其父程式,這個狀態標識了應用程式的一些執行資訊,這個資訊和機器和作業系統有關,一般是 0 為正常退出, 非0 為非正常退出。
6. 非主函式中呼叫return和exit效果很明顯,但是在main函式中呼叫return和exit的現象就很模糊,多數情況下現象都是一致的。
exit(0)與exit(1)、return的區別
轉載於:https://www.cnblogs.com/nyist-xsk/p/10572754.html
相關文章
- exit和return的區別
- system.exit(0)和system.exit(1)的區別
- C++中的return和exit區別C++
- python中 os._exit() 和 sys.exit(), exit(0)的用法和區別Python
- oracle的exit、return、continueOracle
- exit hookHook
- git push程式碼時的‘git did not exit cleanly (exit code 1)‘問題解決Git
- 「Jupyter」UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.UI
- Process finished with exit code -1073740791 (0xC0000409)
- 2.13.5 DBCA Exit Codes
- git did not exit cleanly(exit code 128)報錯的部分原因及解決方法Git
- IDEA報錯Process finished with exit code -1073741819 (0xC0000005)Idea
- preventDefault()與return false區別False
- 'return await promise' 與 'return promise' 這細微的區別AIPromise
- js中return、return true、return false的區別JSFalse
- what is conversion exit defined in ABAP domainAI
- gitlab-runner之build failed with exit status 1問題分析GitlabUIAI
- idea 報錯maven [ERROR] Maven execution terminated abnormally (exit code 1)IdeaMavenErrorORM
- 什麼是 SAP ABAP 的 SYSTEM_EXIT
- command 'gcc' failed with exit status 1錯誤問題的解決辦法GCAI
- Command CompileSwift failed with a nonzero exit code in Xcode 10CompileSwiftAIXCode
- Permission denied Command PhaseScriptExecution failed with a nonzero exit codeAI
- 從JDK原始碼看System.exitJDK原始碼
- python exit出錯是什麼原因Python
- 呼叫System.exit()存在安全漏洞
- Shell 指令碼中的exit狀態解釋指令碼
- break,continue,return區別
- 簡易的解決方式linker command failed with exit code 1 (use -v to see invocation)AI
- 程式流程的控制 Abort Exit Halt RunError Continue Break SleepError
- Docker Desktop啟動報錯:Failed to set version to docker-desktop: exit code: -1DockerAI
- 快速理解D3js 資料繫結之 enter 與 exit 與 updateJS
- Python教程:return和yield的區別Python
- spring boot學習(5): 程式exit code自定義Spring Boot
- iOS開發除錯之報錯:Command /usr/bin/codesign failed with exit code 1iOS除錯AI
- return,continue和break之間的區別
- Qt5執行緒錯誤:QThread: Destroyed while thread is still running(執行runThread->exit(0))QT執行緒threadWhile
- yum 提示 Another App is currently holding the yum lock; waiting for it to exit...APPAI
- CSS 中 stopPropagation, preventDefault 和 return false 的區別CSSFalse