轉(zhuǎn)載:C語言 exit(0)與exit(1)菌羽、return區(qū)別 - 米深 - 博客園
exit(0):正常運(yùn)行程序并退出程序由缆;
exit(1):非正常運(yùn)行導(dǎo)致退出程序犁功;
return():返回函數(shù)婚夫,若在主函數(shù)中,則會(huì)退出函數(shù)并返回一值案糙。
詳細(xì)說:
1. return返回函數(shù)值时捌,是關(guān)鍵字;? exit 是一個(gè)函數(shù)奢讨。
2. return是語言級(jí)別的,它表示了調(diào)用堆棧的返回塞茅;而exit是系統(tǒng)調(diào)用級(jí)別的季率,它表示了一個(gè)進(jìn)程的結(jié)束飒泻。
3. return是函數(shù)的退出(返回)泞遗;exit是進(jìn)程的退出。
4. return是C語言提供的刹孔,exit是操作系統(tǒng)提供的(或者函數(shù)庫中給出的)髓霞。
5. return用于結(jié)束一個(gè)函數(shù)的執(zhí)行方库,將函數(shù)的執(zhí)行信息傳出個(gè)其他調(diào)用函數(shù)使用;exit函數(shù)是退出應(yīng)用程序徐鹤,刪除進(jìn)程使用的內(nèi)存空間,并將應(yīng)用程序的一個(gè)狀態(tài)返回給OS(操作系統(tǒng))邀层,這個(gè)狀態(tài)標(biāo)識(shí)了應(yīng)用程序的一些運(yùn)行信息返敬,這個(gè)信息和機(jī)器和操作系統(tǒng)有關(guān),一般是?0 為正常退出寥院,非0 為非正常退出劲赠。
6. 非主函數(shù)中調(diào)用return和exit效果很明顯,但是在main函數(shù)中調(diào)用return和exit的現(xiàn)象就很模糊秸谢,多數(shù)情況下現(xiàn)象都是一致的凛澎。