exit(0) exit(1) return() 3个的区别
2024-10-06 12:27:20
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 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。
最新文章
- EditPlus 3.8.1346 中文版(6月16日更新)
- Lambda 表达式(C# 编程指南) 微软microsoft官方说明
- [LeetCode] Best Meeting Point
- WCF 入门(23,24)
- 跳舞毯[XDU1005]
- .Net程序员安卓学习之路1:登陆界面
- Leetcode: Palindrome Numbers
- 理解ros服务和参数 ---- 7
- 鼠标按键自定义软件-X-Mouse Button Control
- Android 电子邮件发送成功与失败的提示
- 【转】C#中没有id 没有name C#怎么点击按钮
- java单例模式使用及注意事项
- Mac中下载JDK手动更新出现“只支持10.7.3以上的系统版本”问题解决方案
- 【原创】Linux下获取命令的帮助与常用命令
- jQuery版本冲突解决办法
- (简单) POJ 3268 Silver Cow Party,Dijkstra。
- hadoop如何查看文件系统
- 【ASP.NET MVC】MVC概述
- P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解
- PowerDesigner 批量添加字段