c語言中return與exit的區(qū)別淺析
1. exit 用于在程序運(yùn)行的過程中隨時(shí)結(jié)束程序,exit 的參數(shù)是返回給OS的。main函數(shù)結(jié)束時(shí)也會(huì)隱式地調(diào)用exit函數(shù)。exit函數(shù)運(yùn)行時(shí)首先會(huì)執(zhí)行由atexit()函數(shù)登記的函數(shù),然后會(huì)做一些自身的清理工作,同時(shí)刷新所有輸出流、關(guān)閉所有打開的流并且關(guān)閉通過標(biāo)準(zhǔn)I/O函數(shù)tmpfile()創(chuàng)建的臨時(shí)文件。exit是結(jié)束一個(gè)進(jìn)程,它將刪除進(jìn)程使用的內(nèi)存空間,同時(shí)把錯(cuò)誤信息返回父進(jìn)程,而return是返回函數(shù)值并退出函數(shù).
2. return是語言級(jí)別的,它表示了調(diào)用堆棧的返回;而exit是系統(tǒng)調(diào)用級(jí)別的,它表示了一個(gè)進(jìn)程的結(jié)束。
3.exit函數(shù)是退出應(yīng)用程序,并將應(yīng)用程序的一個(gè)狀態(tài)返回給OS,這個(gè)狀態(tài)標(biāo)識(shí)了應(yīng)用程序的一些運(yùn)行信息。和機(jī)器和操作系統(tǒng)有關(guān)一般是 0 為正常退出 非0 為非正常退出
函數(shù)原型 void exit(int status); ( 頭文件 stdlib.h )
4. return是返回函數(shù)調(diào)用,如果返回的是main函數(shù),則為退出程序
exit是在調(diào)用處強(qiáng)行退出程序,運(yùn)行一次程序就結(jié)束
相關(guān)文章
C++語言設(shè)計(jì)實(shí)現(xiàn)五子棋
這篇文章主要為大家詳細(xì)介紹了C++語言設(shè)計(jì)實(shí)現(xiàn)五子棋,包括數(shù)據(jù)結(jié)構(gòu)和對(duì)象設(shè)計(jì)及主函數(shù)調(diào)用實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09基于MFC和OpenCV實(shí)現(xiàn)角點(diǎn)檢測(cè)
這篇文章主要為大家詳細(xì)介紹了基于MFC和OpenCV實(shí)現(xiàn)角點(diǎn)檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03C++程序中main(int argc, char *argv[])函數(shù)的參數(shù)意義
這篇文章主要介紹了C++程序中main(int argc, char *argv[])函數(shù)的參數(shù)意義,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09Qt數(shù)據(jù)庫應(yīng)用之實(shí)現(xiàn)數(shù)據(jù)圖文混排
除了能夠打印基本的文字信息數(shù)據(jù)到pdf和紙張,越來越多的應(yīng)用需求還要求能夠?qū)С鰣D片,并且要支持圖文混排。本文將通過Qt實(shí)現(xiàn)這一功能,需要的可以參考一下2022-01-01C++逆向分析移除鏈表元素實(shí)現(xiàn)方法詳解
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(203.移除鏈表元素),本篇文章通過逆向分析的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2022-11-11