为了账号安全,请及时绑定邮箱和手机立即绑定

C语言中的exit函数?

C语言中的exit函数?

斯蒂芬大帝 2019-02-21 19:15:12
C语言中的exit()函数,括号中有时为1,有时为0,我想知道他的具体用法,谢谢
查看完整描述

2 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

一、exit() 解释:

1、用于结束当前进程,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。

2、exit(1)表示进程正常退出.,返回 1;

3、exit(0)表示进程非正常退出.,返回 0。

4、进程环境与进程控制:进程的开始与终止。

二、使用方法:

1、当程序发现错误情况使它无法继续执行下去时,这个函数尤其有用。你经常会在调用perrno之后再调用exit()终止程序。

注:这个函数没有返回值。当exit()函数结束时,程序已经消失,所以它无处返回。

2、当exit()函数被调用时,所有被atexit()函数注册为退出函数的函数将按照它们所注册的顺序被反序依次调用(参数由于被压入栈中,而先进后出)。

3、然后,所有用于流的缓冲区被刷新,所有打开的文件被关闭。用tmpfile()函数创建的文件被删除。然后,退出状态返回给宿主环境,程序停止执行。

扩展资料

一、exit()程序实例:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

int main(int argc,char*argv[])

{

int status;

printf("Enter either 1 or 2\n");

status=getch();

/*Sets DOS error level*/

exit(status-'0');

/*Note:this line is never reached*/

return 0;

}

二、类似语句_exit()

1、_exit()函数类似于exit()函数,但是_exit()不会调用atexit()注册的退出函数,也不会调用之前传递给signal()函数的信号处理函数。

2、此外,_exit()函数不需要清洗输出缓冲区,关闭打开的流,以及删除临时文件,是否执行这些操作是由实现定义的。



查看完整回答
反对 回复 2019-03-26
  • 2 回答
  • 0 关注
  • 1398 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号