exit和return的区别
1、exit(); 是整个程序的结束。
- exit(0):正常运行程序并退出程序;
- exit(1):非正常运行导致退出程序;
2、return(); 是某个函数的结束,并返回结果。
- return返回函数值,是关键字; exit 是一个函数。
- return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
- return是函数的退出(返回);exit是进程的退出。
- return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
- return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。
- 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。
exit和_exit
进程终止有5种方法:
1、正常终止
(1)从main函数返回
(2)调用exit
(3)调用_exit
2、异常终止
(1)调用abort
(2)由一个信号来终止
exit和_exit就是用来正常终止一个进程的,主要区别是_exit会立刻进入内核,而exit先执行一些清除工作(包括执行各种终止处理程序,关闭所有标准I/O等,一旦关闭了IO,例如Printf等函数就不会输出任何东西了),然后才进入内核。这两个函数会对父子进程有一定的影响,当用vfork创建子进程时,子进程会先在父进程的地址空间运行(这跟fork不一样),如果子进程调用了exit就会把父进程的IO给关掉。
这两个函数都带一个参数表示终止状态,这跟我们平时写的return效果是一样的,如果不返回一个终止状态,那表示这个进程的终止状态就是未定义的。
exit和return的区别相关推荐
- linux脚本中的exit,Shell中exit和return的区别讲解
1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程.使用格式如下: exit [] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异常退 ...
- Shell 中 exit 和 return 的区别
1.exit 命令 exit 命令是 Shell 内建命令,用于退出当前 Shell 进程.使用格式如下: exit [N] 可以指定退出状态 N,N 的取值范围是 0-255,一般情况下,0 表示正 ...
- C语言中的exit与return的区别
exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 exit(0)表示进程正常退出. 返回 0; exit(1)表示进程非正常退出. 返回 1. exit与return ...
- Linux编程中的坑——C++中exit和return的区别
今天遇到一个坑,折腾了一天才把这个坑填上,情况是这样的: 写了段代码,在main()函数中创建一个分离线程,结果这个线程什么都没干就直接挂掉了,代码长这样: [cpp] view plaincopy ...
- exit()函数详解与Exit() 和 Return() 的区别
exit(0) 表示程序正常, exit(1)/exit(-1)表示程序异常退出 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回, ...
- c语言中exit和return的区别
点击上方蓝字关注我,了解更多咨询 1.返回函数值的return是关键字,exit是一个函数. return是语言级的,它表示调用堆栈的返回:exit是系统调用级的,它表示一个过程的结束. 2.retu ...
- exit(0)与exit(1),return三者区别(详解)
转自:https://www.cnblogs.com/ECJTUACM-873284962/p/6882448.html exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程 ...
- linux如何在C程序中使用exit,c语言exit和return区别,在fork和vfork中使用
exit函数在头文件stdlib.h中. 简述: exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在main主函数中,则会退出函数并返 ...
- 在Linux中,_exit()、exit(0)、exit(1)、和return的区别!!
功能: _exit() :退出程序: exit(0):运行正常退出程序: exit(1):运行异常退出程序: return():返回函数,若在主函数中,则会退出函数并返回值. _exit() 和 ex ...
最新文章
- HDU Problem - 4292 Food(最大流, 建边)
- 【JavaScript】JS事件机制学习
- mysql存储过程模糊查询_Mysql之存储过程“模糊查询drop表”
- GLog 初始化说明
- PPT将图片变为平行四边形形状
- 深入浅出强化学习_直播 | 深入浅出理解 A3C 强化学习
- 有关java的名句_关于志气的名言名句(精选50句)
- python 序列类型函数_序列类型可用的内置函数
- vue中进度条写法_vue实现简单loading进度条
- 概率论与数理统计(二)选择题
- 简书bug:不支持复制粘贴纯文本
- HTML5 -canvas拖拽、移动 绘制图片可操作移动,拖动
- 无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域。...
- -bash: vi: command not found -bash: ls: command not found
- k8s api文档 调用heapster metrics
- 《我和PIC单片机:基于PIC18》——导读
- 网易云信 web demo体验-会议
- 2020强网杯部分题总结与复现
- 北上杭是梦!“郑福贵”才是中国智慧城市的真相
- 模拟器xposed框架安装7.1-64教程