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个的区别相关推荐

  1. java中System.exit(1)、System.exit(0)、以及return的区别

    System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序 System.exit(status)不管status为何值都会退出程序. 和return 相比 ...

  2. _exit(0) exit(0) exit(1) return区别

    1._exit():和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中. 下面我就举个例子说明下吧, int main() { printf("is ok\ ...

  3. 【Linux】exit(0)exit(1)return

    exit()与return的区别: exit(0):正常运行程序并退出程序,调用时程序运行正常结束: exit(1):非正常运行导致退出程序,调用时程序运行非正常结束: return():返回函数,若 ...

  4. exit(0),exit(1),exit(EXIT_SUCCESS),exit(EXIT_FAILURE)

    exit(0): 正常执行程序并退出程序.exit(1): 非正常执行导致退出程序.stdlib.h头文件中 定义了两个变量:#define EXIT_SUCCESS 0 #define EXIT_F ...

  5. shell脚本:exit 0 和 exit 1有什么区别?他们和return不同,return是关键字,exit是一个shell函数

    定义 exit 0 :正常运行程序并退出程序.使用echo $? 返回0,也就是说调用环境认为你的程序执行正常. exit 1 :非正常运行导致退出程序,也可以是其他数字.系统程序对于程序运行错误是有 ...

  6. exit(0)和return 0的区别

    今天看一个程序int main后使用了exit(0)而没有return,来看看二者的区别吧. 文章目录 区别 参考来源链接 区别 return返回函数值,是关键字: exit 是一个函数. retur ...

  7. C语言中exit(0) 、exit(1) 和return的区别

    C语言中的exit 文字描述 代码验证 return 表示返回 , 函数返回 exit 表示程序退出 exit(0) 表示正常退出,代码为1 exit(1) 表示异常退出,代码为1 文字描述 retu ...

  8. shell脚本:exit 0 和 exit 1有什么区别?

    定义 exit 0 :正常运行程序并退出程序.使用echo $? 返回0,也就是说调用环境认为你的程序执行正常. exit 1 :非正常运行导致退出程序,也可以是其他数字.系统程序对于程序运行错误是有 ...

  9. Shell—关于exit 0的那些坑

    关于exit 0的那些坑   在 shell 编程中,需慎用 exit 0!   首先必须弄清楚 exit 0 不是 return 0, 区别在于 return 0 用于函数中,表示函数执行成功返回 ...

最新文章

  1. va_start() va_end()函数应用
  2. win8 下免安装版mysql
  3. win32应用程序_不是有效的win32应用程序怎么解决
  4. mysql57查询无响应_MySQL 单个表锁死 对查询语句无响应
  5. Java连接Redis及操作(二)
  6. 用python将数据标准化
  7. getsockname和getpeername测试
  8. RecycleView的正确打开方式
  9. VSCode同步设置
  10. ROS 教程之 network:多台计算机之间网络通信(1)
  11. 华为Y9s海外官网上架:升降式全面屏+侧面指纹识别
  12. 数仓、数据平台和中台还分不清楚?大佬的10年经验之谈,看完懂了
  13. 华为机试HJ68:成绩排序
  14. WayOS路由器企业应用方案
  15. 面向对象java试题_经典面向对象试题,用Java做,要详细点的!先谢过了
  16. LINUX系统各发行版镜像源下载
  17. 广义线性模型(Generalized Linear Model)之三:Poisson回归
  18. 用友OA/NC/NCCloud漏洞集合
  19. 天猫店群比淘宝店群好做吗?同是无货源差距为何那么大,个人分享
  20. element tab如何居中_如何用思维导图提高工作效率

热门文章

  1. ALGO-221 数据交换
  2. PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)
  3. Martix工作室考核题 —— 输入一串数字,按要求打印。
  4. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1068:与指定数字相同的数的个数
  5. Netty实战 IM即时通讯系统(七)数据传输载体ByteBuf介绍
  6. 【Linux网络编程】Linux多播问题(No such device)解决方法
  7. 如何出(改编)一道ACM算法题?
  8. 每天一道LeetCode-----判断给定字符串是否符合某个模式
  9. libevent源码学习-----event操作
  10. 记录spark-yarn模式下提交自己写的java程序