exit()和return的区别
1. exit用于结束正在运行的整个程序,它将参数返回给OS,把控制权交给操作系统;而return 是退出当前函数,返回函数值,把控制权交给调用函数。
2. exit是系统调用级别,它表示一个进程的结束;而return 是语言级别的,它表示调用堆栈的返回。
3. 在main函数结束时,会隐式地调用exit函数,所以一般程序执行到main()结尾时,则结束主进程。exit将删除进程使用的内存空间,同时把错误信息返回给父进程。
4. void exit(int status); 一般status为0,表示正常退出,非0表示非正常退出。
1、exit函数和return函数的主要区别是:
1)exit用于在程序运行的过程中随时结束程序,其参数是返回给OS的。也可以这么讲:exit函数是退出应用程序,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息。
main函数结束时也会隐式地调用exit函数,exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。
exit是系统调用级别的,它表示了一个进程的结束,它将删除进程使用的内存空间,同时把错误信息返回父进程。通常情况:exit(0)表示程序正常, exit(1)和exit(-1)表示程序异常退出,exit(2)表示系统找不到指定的文件。在整个程序中,只要调用exit就结束。
2)return是语言级别的,它表示了调用堆栈的返回;return是返回函数值并退出函数,通常0为正常退出,非0为非正常退出,请注意,如果是在主函数main, 自然也就结束当前进程了(也就是说,在main()里面,你可以用return n,也能够直接用exit(n)来做),如果不是在main函数中,那就是退回上一层调用。在多个进程时,如果有时要检测上个进程是否正常退出,就要用到上个进程的返回值。
转载于:https://www.cnblogs.com/study-ma/p/3946917.html
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() 是当前函数返回, ...
- exit和return的区别
1.exit(); 是整个程序的结束. exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: 2.return(); 是某个函数的结束,并返回结果. 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 ...
最新文章
- 服务器ping你可以ping通,你ping服务器ping不同的解决方案!!
- /lib64/libc.so.6 is not a symbolic link 解决方法
- 网易云摸到了大象灵巧的鼻子
- Science上发表的超赞聚类算法
- fopen在linux中打开文件夹,plain C:用fopen()打开一个目录
- 图解分布式系统架构演进之路
- Android之Intent.ACTION_MEDIA_SCANNER_SCAN_FILE:扫描指定文件
- 【转载】可能是把Docker的概念讲的最清楚的一篇文章
- pandas写入excel指定行_pandas读写excel文件的基本操作!,详细,教学,Pandas,对
- 工欲善其事必先利其器——网络工程师必备六款软件(收藏下载❤️)
- Win7 安装 -- SHSUCDX can’t install 问题解决
- “非常晚餐”第一期 “3D虚拟世界”是“黑客帝国”吗?
- 极度干货——GitHub受欢迎的Android UI Library整理
- ONF组织的SDN架构文档——概述(一)
- MySQL设计与优化
- Qt和海康威视混合编程
- android qq 设置界面大小设置,怎么设置手机腾讯QQ的字体大小
- svg实现多个元素拖拽
- Sublime Text 中文版安装和插件安装
- 杨振宁国科大演讲互动
热门文章
- 【转贴】谈论 Direct3D10特性预览
- 『参考』.net CF组件编程(1)——基础之后
- 区块链供应链金融应用场景解决方案
- 201621123041java程序设计第二周学习总结
- BZOJ 1857: [Scoi2010]传送带
- vue-cli脚手架npm相关文件解读(7)dev-server.js
- Ubuntu 14.04 开机手动开启numlock led
- Go Web开发之Revel - 返回值
- 理解 position:relative 与 position:absolute
- sqldf包:让SQL语句在R语言中执行