exit(0) exit(1) return() 3个的区别
exit(0):正常运行程序并退出程序;
exit(1):非正常运行导致退出程序;
return():返回函数,若在主函数中,则会退出函数并返回一值。
详细说:
1. return返回函数值,是关键字; exit 是一个函数。
2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
3. return是函数的退出(返回);exit是进程的退出。
4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出, 非0 为非正常退出。
6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。
exit(0)与exit(1)对你的程序来说,没有区别。对使用你的程序的人或者程序来说,区别可就大了。
一般来说,exit 0 可以告知你的程序的使用者:你的程序是正常结束的。如果 exit 非 0 值,那么你的程序的使用者通常会认为你的程序产生了一个错误。
以 shell 为例,在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。
转载于:https://www.cnblogs.com/jack-hzm/p/10812737.html
exit(0) exit(1) return() 3个的区别相关推荐
- java中System.exit(1)、System.exit(0)、以及return的区别
System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序 System.exit(status)不管status为何值都会退出程序. 和return 相比 ...
- _exit(0) exit(0) exit(1) return区别
1._exit():和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中. 下面我就举个例子说明下吧, int main() { printf("is ok\ ...
- 【Linux】exit(0)exit(1)return
exit()与return的区别: exit(0):正常运行程序并退出程序,调用时程序运行正常结束: exit(1):非正常运行导致退出程序,调用时程序运行非正常结束: return():返回函数,若 ...
- exit(0),exit(1),exit(EXIT_SUCCESS),exit(EXIT_FAILURE)
exit(0): 正常执行程序并退出程序.exit(1): 非正常执行导致退出程序.stdlib.h头文件中 定义了两个变量:#define EXIT_SUCCESS 0 #define EXIT_F ...
- shell脚本:exit 0 和 exit 1有什么区别?他们和return不同,return是关键字,exit是一个shell函数
定义 exit 0 :正常运行程序并退出程序.使用echo $? 返回0,也就是说调用环境认为你的程序执行正常. exit 1 :非正常运行导致退出程序,也可以是其他数字.系统程序对于程序运行错误是有 ...
- exit(0)和return 0的区别
今天看一个程序int main后使用了exit(0)而没有return,来看看二者的区别吧. 文章目录 区别 参考来源链接 区别 return返回函数值,是关键字: exit 是一个函数. retur ...
- C语言中exit(0) 、exit(1) 和return的区别
C语言中的exit 文字描述 代码验证 return 表示返回 , 函数返回 exit 表示程序退出 exit(0) 表示正常退出,代码为1 exit(1) 表示异常退出,代码为1 文字描述 retu ...
- shell脚本:exit 0 和 exit 1有什么区别?
定义 exit 0 :正常运行程序并退出程序.使用echo $? 返回0,也就是说调用环境认为你的程序执行正常. exit 1 :非正常运行导致退出程序,也可以是其他数字.系统程序对于程序运行错误是有 ...
- Shell—关于exit 0的那些坑
关于exit 0的那些坑 在 shell 编程中,需慎用 exit 0! 首先必须弄清楚 exit 0 不是 return 0, 区别在于 return 0 用于函数中,表示函数执行成功返回 ...
最新文章
- va_start() va_end()函数应用
- win8 下免安装版mysql
- win32应用程序_不是有效的win32应用程序怎么解决
- mysql57查询无响应_MySQL 单个表锁死 对查询语句无响应
- Java连接Redis及操作(二)
- 用python将数据标准化
- getsockname和getpeername测试
- RecycleView的正确打开方式
- VSCode同步设置
- ROS 教程之 network:多台计算机之间网络通信(1)
- 华为Y9s海外官网上架:升降式全面屏+侧面指纹识别
- 数仓、数据平台和中台还分不清楚?大佬的10年经验之谈,看完懂了
- 华为机试HJ68:成绩排序
- WayOS路由器企业应用方案
- 面向对象java试题_经典面向对象试题,用Java做,要详细点的!先谢过了
- LINUX系统各发行版镜像源下载
- 广义线性模型(Generalized Linear Model)之三:Poisson回归
- 用友OA/NC/NCCloud漏洞集合
- 天猫店群比淘宝店群好做吗?同是无货源差距为何那么大,个人分享
- element tab如何居中_如何用思维导图提高工作效率
热门文章
- ALGO-221 数据交换
- PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)
- Martix工作室考核题 —— 输入一串数字,按要求打印。
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1068:与指定数字相同的数的个数
- Netty实战 IM即时通讯系统(七)数据传输载体ByteBuf介绍
- 【Linux网络编程】Linux多播问题(No such device)解决方法
- 如何出(改编)一道ACM算法题?
- 每天一道LeetCode-----判断给定字符串是否符合某个模式
- libevent源码学习-----event操作
- 记录spark-yarn模式下提交自己写的java程序