C++中如果需要中途退出程序,exit(1)和exit(0)以及return有什么区别呢?

C++中如果需要中途退出程序,exit(1)和exit(0)以及return有什么区别呢?,第1张

exit(1)和_exit(0)函数都可以用于结束进程,不过_exit(1)调用之后会立即进入内核,而exit(0)函数会先执行一些清理之后才会进入内核,比如调用各种终止处理程序,关闭所有I/O流.

return是退出函数模块并返回值给调用该函数的 *** 作数,所以函数前要有返回类型,如果是用在main函数中的话,main函数返回值不能声明成void,那么此时的return与exit调用都是使程序结束并返回到 *** 作系统。

return函数退出,将函数的信息返回给调用函数使用,与exit()和_exit()函数有本质区别。

#include<stdlib.h>

voidexit(intstatus)

DESCRIPTION

Theexit()functioncausesnormalprocesstermination

andthevalueofstatus&0377isreturnedtotheparent

(seewait(2)).

这是man手册中对exit()函数的秒数,exit()函数导致子进程的正常退出,并且参数status&0377这个值将被返回给父进程。exit()应该是库函数。exit()函数其实是对_exit()函数的一种封装(库函数就是对系统调用的一种封装)。

3.return不是系统调用,也不是库函数,而是一个关键字,表示调用堆栈的返回(过程活动记录),是函数的退出,而不是进程的退出。

exit(0)的意思是正常运行导致退出程序。

return返回函数值,是关键字;exit是一个函数。return是语言级别的,它表示调用堆栈的返回;而exit是系统调用级别的,它表示一个进程的结束。return是函数的退出(返回);exit是进程的退出。return是C语言提供的,exit是 *** 作系统提供的(或者函数库中给出的)。return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS( *** 作系统),这个状态标识了应用程序的一些运行信息,这个信息和机器和 *** 作系统有关,一般是0为正常退出,非0为非正常退出。

C语言中的标准写法

是将main()函数写成int型的,即int main()

然后结束的时候

只需return 0

代表程序正常结束

楼上的也是一种写法

但要#include<stdlib.h>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7879975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存