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

如题所述

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

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

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

#include <stdlib.h>

void exit(int status);

DESCRIPTION
The exit() function causes normal process termination
and the value of status & 0377 is returned to the parent
(see wait(2)).

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

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

温馨提示:内容为网友见解,仅供参考
无其他回答

C++中如果需要中途退出程序,exit(1)和exit(0)以及return有什么区别呢...
exit(1)和_exit(0)函数都可以用于结束进程,不过_exit(1)调用之后会立即进入内核,而exit(0)函数会先执行一些清理之后才会进入内核,比如调用各种终止处理程序,关闭所有I\/O流.return 是退出函数模块并返回值给调用该函数的操作数,所以函数前要有返回类型,如果是用在main函数中的话,main函数返回值不...

请问C++中如果需要中途退出程序,exit(1)和exit(0)以及return有什么区 ...
main函数声明为void类型没有问题,这种情况通常用于不需要操作系统关心程序的返回结果的情况下。此时,程序中使用exit(0)这样的代码,编译器通常会给出错误或警告,提示main函数是无返回值类型。如果一个程序需要告诉操作系统它的执行结果是正常还是异常,那么main函数应该声明为int类型,同时在代码中任意位置...

c++ exit(1) 与 exit(0) 的区别是什么啊
exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。使用exit()时,可以不论main()的返回值类型。

C语言中exit(0)与exit(1)有什么区别??
1、exit(1)表示异常退出,在退出前可以给出一些提示信息,或在调试程序中察看出错原因。2、exit(0)表示正常退出。3、 return是语言级别的,是关键字,它表示了调用堆栈的返回,return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用,如果返回的是main函数,则为退出程序。而exit是系统...

C++ exit和return区别
exit( 0 );} 调用Code4这个程序返回给外部的结果仍然是0;这两者的效果几乎相同, 但是还是有细微不同的地方, 一般是在大型项目才会考虑的.楼主现在可以暂时不用关心这个.因为main()函数也是函数, 所以它的return(), 在某种程度上相当于exit()的作用, 在这种情况下,这两者是可以互换的.如果楼主还有...

C++中stdlib里的exit(1)非正常退出……什么是非正常退出?宏又是...
exit(0)就是正常退出,而非零参数时就表示出现错误,并将其值返回。结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,在父进程中wait系统调用将接受到此返回信息。这个错误值的具体含义则由程序自行定义。至于宏,你上网搜索吧,太多了,看下百科条目:宏定义 http:\/\/baike.baidu...

C++ exit(1)问题
0表示程序正常结束,其他数值表示异常结束,通常为int类型,通常,6表示溢出等等。exit(int);为程序返回第一个参数的内容,并结束程序(而不是函数)。

c语言exit和return的区别
exit(1):非正常运行导致退出程序;return():返回函数,若在main主函数中,则会退出函数并返回一值,可以写为return(0),或return 0。详细说:1. return返回函数值,是关键字;exit是一个函数。2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的...

C++中的EXIT(1)是什么意思?EXIT还有其他的情况吗?
void exit(int status);该函数表示退出当前进程并把状态值返回给父进程 一般0表示正常退出,其他都表示异常退出 其实一般我们编程不需要太关心这个状态值,都是由系统来处理的

C++中,return 0 和 return -1有什么区别,程序运行到该语句时会不会产 ...
return表示函数结束,在main中return一个整数之后,main函数执行完毕,也即程序执行完毕。在C++标准中虽然没有规定具体应该返回什么值,但一般而言返回0表示正常结束,返回非0表示异常结束,但一般非0时都返回-1,这也许跟C语言里的exit(-1)这个函数有关吧,毕竟很多C++程序员都是从C转过来的。

相似回答