国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

exit和atexit

2019-11-10 22:39:29
字體:
供稿:網(wǎng)友

通用工具函數(shù)庫stdlib.h提供了除從main函數(shù)中正常返回之外的其他一些終止程序運(yùn)行的方法,如exit和atexit。exit強(qiáng)制終止程序的運(yùn)行,就像正常結(jié)束一樣,當(dāng)檢測(cè)到一個(gè)輸入錯(cuò)誤或者欲處理的文件無法打開時(shí),常常使用exit來結(jié)束程序。atexit注冊(cè)一個(gè)函數(shù),這個(gè)函數(shù)必須在程序成功結(jié)束時(shí)調(diào)用–要么程序執(zhí)行到了main函數(shù)末尾,要么調(diào)用了exit函數(shù),使程序結(jié)束。 atexit接收指向欲注冊(cè)函數(shù)的指針(即函數(shù)名)作為實(shí)參。這個(gè)在程序結(jié)束時(shí)被調(diào)用的函數(shù)不能有實(shí)參,也不能返回任何一個(gè)值,最多能注冊(cè)32個(gè)在程序結(jié)束時(shí)被調(diào)用的函數(shù)。 exit函數(shù)接收一個(gè)實(shí)參。這個(gè)實(shí)參通常是符號(hào)常量EXIT_SUCCESS或EXIT_FAILURE。如果使用EXIT_SUCCESS來調(diào)用exit函數(shù),一個(gè)系統(tǒng)定義的,代表程序成功結(jié)束的數(shù)值將返回給主調(diào)環(huán)境。如果使用EXIT_FAILURE來調(diào)用exit函數(shù),將返回一個(gè)系統(tǒng)定義的,代表程序未成功的數(shù)值。調(diào)用exit后,由 atexit注冊(cè)的所有函數(shù),將按照與它們注冊(cè)相反的順序,依次被調(diào)用。所有與程序相聯(lián)系的輸入、輸出流將被處理完,然后關(guān)閉,控制也返回到主調(diào)環(huán)境中。 示例如下:

#include <stdio.h>#include <stdlib.h>#define DEBUG 0void PRint1();void print2();void print3();int main(int argc, char const *argv[]){ atexit(print1); atexit(print2); atexit(print3); if (DEBUG == 1) exit(EXIT_SUCCESS); else exit(EXIT_FAILURE); return 0;}void print1() { printf("This is print1./n");}void print2() { printf("This is print2./n");}void print3() { printf("This is print3./n");}

注意,不論exit參數(shù)是什么,函數(shù)均調(diào)用atexit注冊(cè)的函數(shù)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临潭县| 新安县| 新野县| 高密市| 周宁县| 永吉县| 南丹县| 许昌市| 谢通门县| 鲁山县| 应城市| 红安县| 常州市| 辽宁省| 运城市| 临潭县| 上饶市| 平山县| 苍梧县| 五常市| 边坝县| 乳山市| 芮城县| 宝应县| 涿鹿县| 潜山县| 衡南县| 银川市| 盘锦市| 瑞金市| 九寨沟县| 玛曲县| 青川县| 绥阳县| 清远市| 沙洋县| 阿荣旗| 金昌市| 无棣县| 左云县| 民县|