- return返回函数值,是关键字;很明显,exit()是一个函数。
- return语言提供的,是语言级别的,它表示了调用堆栈的返回,是函数的退出(返回);而exit是操作系统提供的(或者函数库中给出的),是系统调用级别的,它表示了一个进程的结束。exit()退出程序,把控制权交给操作系统;return结束当前函数,返回函数值,把控制权交给调用函数。
- return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给操作系统,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0为非正常退出。
- 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。
- 在main函数结束时,会隐式地调用exit函数,所以一般程序执行到main()结尾时,则结束主进程。exit将删除进程使用的内存空间,同时把错误信息返回给父进程。
- 对于单独的进程exit的返回值是返回给操作系统的,但如果是多进程,则是返回给父进程的。父进程里面调用waitpid()等函数得到子进程退出的状态,以便作不同处理。根据相应的返回值来让调用者作出相应的处理。总的说来,exit()就是当前进程把其控制权返回给调用该子程序的主程序,括号里的是返回值,告诉调用程序该程序的运行状态。
return与exit()的区别
最新推荐文章于 2020-09-17 18:07:47 发布