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++
- 解析php中die(),exit(),return的區別PHP
- python中 os._exit() 和 sys.exit(), exit(0)的用法和區別Python
- Environment.Exit(0) 、Application.Exit() 、this.Close() 、this.Dispose()的區別APP
- oracle的exit、return、continueOracle
- System.exit(1);
- Exit()
- linux系統程式設計之程式(四):程式退出exit,_exit區別即atexit函式Linux程式設計函式
- exit hookHook
- What is the difference betn i step=2 and i step=3 in variable user exit EXIT SAPLRRS0 001
- JVM terminated. Exit code=1JVM
- git push程式碼時的‘git did not exit cleanly (exit code 1)‘問題解決Git
- #pragma用法(1)#pragma startup和#pragma exit
- 「Jupyter」UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.UI
- preventDefault()與return false區別False
- js中return、return true、return false的區別JSFalse
- 'return await promise' 與 'return promise' 這細微的區別AIPromise
- CONVERSION_EXIT_ALPHA_INPUT 加前導0 和去掉 前導0
- 2.13.5 DBCA Exit Codes
- git did not exit cleanly(exit code 128)報錯的部分原因及解決方法Git
- Find User-exit and BADIs
- QT錯誤之——collect2:ld returned 1 exit statusQT
- 如何修復 Ubuntu 上“…script returned error exit status 1”的錯誤UbuntuError
- what is conversion exit defined in ABAP domainAI
- Could not find the main class. Program will exitAI
- tar: Error exit delayed from previous errorsError
- JVM 資訊收集: Java VM Exit=NNJVMJava
- Process finished with exit code -1073740791 (0xC0000409)
- 什麼是 SAP ABAP 的 SYSTEM_EXIT
- [轉]Sales Order 中的User Exit開發
- Break,Continue,Return的區別
- gitlab-runner之build failed with exit status 1問題分析GitlabUIAI
- iOS linker command failed with exit code 1 (use v to see invocation)iOSAI
- eclipse出現jvm terminated exit code=1問題[轉]EclipseJVM
- 從JDK原始碼看System.exitJDK原始碼
- 呼叫System.exit()存在安全漏洞