C语言中的exit函数

C语言中的exit()函数,括号中有时为1,有时为0,我想知道他的具体用法,谢谢... C语言中的exit()函数,括号中有时为1,有时为0,我想知道他的具体用法,谢谢 展开
 我来答
学生那点事
2018-11-28 · TA获得超过5991个赞
知道答主
回答量:21
采纳率:0%
帮助的人:1.2万
展开全部

exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。

在c语言中: exit(0):表示正常退出;exit(1):表示异常退出,这个1是返回给操作系统;值是返回操作系统的:0是正常退出,而其他值都是异常退出,所以我们在设计程序时,可以在推出前给一些小的提示信息,或者在调试程序的过程中查看出错原因。

使用exit()时,可以不论main()的返回值类型,它的头文件是 stdlib.h。

扩展资料:

进程函数:所在函数库为stdlib.h、process.h

void abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序 无返回值。

void _exit(int status)终止当前程序,但不清理现场。

void exit(int status) 终止当前程序,关闭所有文件,写缓冲区的输出(等待输出),并调用任何寄存器的"出口函数",无返回值。

参考资料:百度百科-C语言函数

Zero天秤sss
高粉答主

2018-11-27 · 说的都是干货,快来关注
知道小有建树答主
回答量:99
采纳率:100%
帮助的人:1.6万
展开全部

一、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()函数不需要清洗输出缓冲区,关闭打开的流,以及删除临时文件,是否执行这些操作是由实现定义的。

参考资料:百度百科——exit()

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舒坦且旺盛的小彩虹5208
推荐于2017-10-07 · TA获得超过333个赞
知道答主
回答量:236
采纳率:0%
帮助的人:0
展开全部
在main函数中我们通常使用return (0);这样的方式返回一个值。

但这是限定在非void情况下的也就是void main()这样的形式。

exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束跳会操作系统。

但在如果把exit用在main内的时候无论main是否定义成void返回的值都是有效的,并且exit不需要考虑

#include <iostream>
#include <string>
using namespace std;

int main()
{
exit (1);//等价于return (1);
}

参考资料: http://www.pconline.com.cn/pcedu/empolder/gj/c/0503/566007.html

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2006-03-19
展开全部
括号中有时为1,有时为0
其实你现在不用考虑这么多的~
遇到1 就代表出错后结束程序~其实不一定是1的~非0值也可以!
遇到0就表示正常退出~~
明白吗?

例如:
你定义一个文件的指针fp
if (fp=fopen ("c:\\abc.txt","r"))==NULL)
{
printf("Can not open the file.\n");
exit(1);
}
如果文件不存在那么就跳出程序了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友90d4a0f19
2006-03-19 · TA获得超过708个赞
知道答主
回答量:292
采纳率:0%
帮助的人:0
展开全部
exit(0) 用于程序正常结束;exit(1) 用于程序非正常退出,1 也可以是其他非零值. 实际编程中可以不必理会.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式