欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

C语言return, exit, abort的区别

时间:2022-05-30 08:28:40|栏目:C代码|点击:

一般情况下,在C语言中退出一个程序用return,如果在main函数中,return在清理局部对象之后,会调用exit函数。

return相比,exit并不会销毁局部对象,而是会销毁所有静态与全局对象、清空缓冲区,关闭IO通道。终止前则会调用atexit()所定义的函数。

atexit也在stdlib.h中,其声明式为

int atexit(void (*func)(void))

当程序中止时,就会调用函数指针func

//atexit.c
#include <stdio.h>
#include <stdlib.h>

void funcA (){
   printf("call from atexit\n");
}

int main (){
   atexit(funcA);   //将funcA注册为中止函数
   printf("exiting...\n");
   return 0;
}

测试结果如下:

>gcc atexit.c
>a.exe
exiting...
call from atexit

如果希望什么都不做就退出程序,可以使用abort(),将abort();插入到return 0前面,则其输出结果如下,并不会调用funcA

>a.exe
exiting...

上一篇:详解C语言之函数

栏    目:C代码

下一篇:没有了

本文标题:C语言return, exit, abort的区别

本文地址:http://www.codeinn.net/misctech/203251.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有