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>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)