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

首頁 > 學院 > 開發設計 > 正文

exit和atexit

2019-11-11 01:31:06
字體:
來源:轉載
供稿:網友

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

#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參數是什么,函數均調用atexit注冊的函數。


上一篇:TreeMap

下一篇:抽象類與接口

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿拉善右旗| 玉山县| 民勤县| 阳朔县| 乌海市| 叙永县| 晋州市| 德州市| 沛县| 濉溪县| 黄大仙区| 胶南市| 新津县| 贡觉县| 临泉县| 睢宁县| 灵川县| 合山市| 淅川县| 孙吴县| 南昌县| 通辽市| 忻州市| 城步| 正安县| 柏乡县| 蒙阴县| 独山县| 扬州市| 克拉玛依市| 凤庆县| 东兰县| 白山市| 怀安县| 武宣县| 汕尾市| 宁远县| 蓬安县| 温泉县| 象州县| 交城县|