exit() 結(jié)束當(dāng)前進(jìn)程/當(dāng)前程序/,在整個(gè)程序中,只要調(diào)用 exit ,就結(jié)束。
在靖遠(yuǎn)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)整合營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,靖遠(yuǎn)網(wǎng)站建設(shè)費(fèi)用合理。
return() 是當(dāng)前函數(shù)返回,當(dāng)然如果是在主函數(shù)main, 自然也就結(jié)束當(dāng)前進(jìn)程了,如果不是,那就是退回上一層調(diào)用。
在多個(gè)進(jìn)程時(shí).如果有時(shí)要檢測(cè)上進(jìn)程是否正常退出的.就要用到上個(gè)進(jìn)程的返回值。
exit(1)表示進(jìn)程正常退出. 返回 1;
exit(0)表示進(jìn)程非正常退出. 返回 0.
操作:
1、進(jìn)程的開(kāi)始:
C程序是從main函數(shù)開(kāi)始執(zhí)行, 原型如下:int main(int argc, char *argv[]),通常main的返回值是int型, 正確返回0.如果main的返回值為void或者無(wú), 某些編譯器會(huì)給出警告, 此時(shí)main的返回值通常是0.
2、進(jìn)程終止:
C程序的終止分為兩種: 正常終止和異常終止.正常終止分為: return, exit, _exit, _Exit, pthreade_exit異常中指分為: abort, SIGNAL, 線程響應(yīng)取消。正常終止的前4種, 即exit系列函數(shù).
3、 atexit終止處理程序:
ISO C規(guī)定, 一個(gè)進(jìn)程最對(duì)可登記32個(gè)終止處理函數(shù), 這些函數(shù)由exit按登記相反的順序自動(dòng)調(diào)用. 如果同一函數(shù)登記多次, 也會(huì)被調(diào)用多次.
原型如下:
#include
int atexit(void (*func)(void));
其中參數(shù)是一個(gè)函數(shù)指針, 指向終止處理函數(shù), 該函數(shù)無(wú)參無(wú)返回值.
擴(kuò)展資料
exit函數(shù)和return函數(shù)的主要區(qū)別:
1)exit用于在程序運(yùn)行的過(guò)程中隨時(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)閉所有打開(kāi)的流并且關(guān)閉通過(guò)標(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ù)。
通常情況:exit(0)表示程序正常, exit(1)和exit(-1)表示程序異常退出,exit(2)表示表示系統(tǒng)找不到指定的文件。在整個(gè)程序中,只要調(diào)用exit就結(jié)束(當(dāng)前進(jìn)程或者在main時(shí)候?yàn)檎麄€(gè)程序)。
2)return是語(yǔ)言級(jí)別的,它表示了調(diào)用堆棧的返回;return( )是當(dāng)前函數(shù)返回,當(dāng)然如果是在主函數(shù)main, 自然也就結(jié)束當(dāng)前進(jìn)程了,如果不是,那就是退回上一層調(diào)用。
在多個(gè)進(jìn)程時(shí)。如果有時(shí)要檢測(cè)上個(gè)進(jìn)程是否正常退出。就要用到上個(gè)進(jìn)程的返回值,依次類(lèi)推。而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)行信息。
exit函數(shù)用法如下:
函數(shù)名:exit()
所在頭文件:stdlib.h(如果是”VC6.0“的話頭文件為:windows.h)
功能: 關(guān)閉所有文件,終止正在執(zhí)行的進(jìn)程。
exit(0)表示正常退出,exit(x)(x不為0)都表示異常退出,這個(gè)x是返回給操作系統(tǒng)(包括UNIX,Linux,和MS DOS)的,以供其他程序使用。
stdlib.h:void exit(int status);//參數(shù)status,程序退出的返回值
在c語(yǔ)言中: exit(0):表示正常退出;exit(1):表示異常退出,這個(gè)1是返回給操作系統(tǒng);值是返回操作系統(tǒng)的:0是正常退出,而其他值都是異常退出,所以我們?cè)谠O(shè)計(jì)程序時(shí),可以在推出前給一些小的提示信息,或者在調(diào)試程序的過(guò)程中查看出錯(cuò)原因。
exit()通常是用在子程序中用來(lái)終結(jié)程序用的,使用后程序自動(dòng)結(jié)束,跳回操作系統(tǒng)。
擴(kuò)展資料:
exit()和return的區(qū)別:
按照ANSIC,在最初調(diào)用的main()中使用return和exit()的效果相同。
但要注意這里所說(shuō)的是“最初調(diào)用”。如果main()在一個(gè)遞歸程序中,exit()仍然會(huì)終止程序;但return將控制權(quán)移交給遞歸的前一級(jí),直到最初的那一級(jí),此時(shí)return才會(huì)終止程序。return和exit()的另一個(gè)區(qū)別在于,即使在除main()之外的函數(shù)中調(diào)用exit(),也將終止程序。
參考資料來(lái)源:百度百科-Exit()
退出整個(gè)程序,終止進(jìn)程,并返回0給操作系統(tǒng)。
1、由于返回0代表程序正常退出,返回1等其他數(shù)字通常代表異常終止,可通過(guò)返回的具體數(shù)值判斷出錯(cuò)源。
2、函數(shù)名: exit(),所在開(kāi)頭文件為:stdlib.h
3、關(guān)閉所有文件,終止正在執(zhí)行的進(jìn)程。exit(1)表示異常退出.這個(gè)1是返回給操作系統(tǒng)的。
擴(kuò)展資料:
1、exit(0) 表示程序正常退出,exit⑴/exit(-1)表示程序異常退出。
2、exit() 結(jié)束當(dāng)前進(jìn)程,在整個(gè)程序中,只要調(diào)用 exit ,就結(jié)束了。
3、exit(x)(x不為0)都表示異常退出,這個(gè)x是返回給操作系統(tǒng)(包括UNIX,Linux,和MS DOS)的,以供其他程序使用。
4、exit()通常是用在子程序中用來(lái)終結(jié)程序用的,使用后程序自動(dòng)結(jié)束,跳回操作系統(tǒng)。
參考資料:Exit()_百度百科
有時(shí)程序中加入的一些語(yǔ)句,可以說(shuō)沒(méi)有任何用處,但可以讓閱讀者認(rèn)識(shí)一種新的語(yǔ)句,以及大概的使用方式。exit(0)是正常退出程序,作用和break有點(diǎn)類(lèi)似;但break是退出某一語(yǔ)句體,到下一個(gè)語(yǔ)句執(zhí)行,exit是正常退出程序,后面的語(yǔ)句將不再執(zhí)行。你試試,當(dāng)要求輸入的運(yùn)算符不對(duì)時(shí),最后的輸出語(yǔ)句還會(huì)輸出嗎?