1、exit();  是整个程序的结束。

  • exit(0):正常运行程序并退出程序;
  • exit(1):非正常运行导致退出程序;

2、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和_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的区别相关推荐

  1. linux脚本中的exit,Shell中exit和return的区别讲解

    1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程.使用格式如下: exit [] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异常退 ...

  2. Shell 中 exit 和 return 的区别

    1.exit 命令 exit 命令是 Shell 内建命令,用于退出当前 Shell 进程.使用格式如下: exit [N] 可以指定退出状态 N,N 的取值范围是 0-255,一般情况下,0 表示正 ...

  3. C语言中的exit与return的区别

    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 exit(0)表示进程正常退出. 返回 0; exit(1)表示进程非正常退出. 返回 1. exit与return ...

  4. Linux编程中的坑——C++中exit和return的区别

    今天遇到一个坑,折腾了一天才把这个坑填上,情况是这样的: 写了段代码,在main()函数中创建一个分离线程,结果这个线程什么都没干就直接挂掉了,代码长这样: [cpp] view plaincopy ...

  5. exit()函数详解与Exit() 和 Return() 的区别

    exit(0) 表示程序正常, exit(1)/exit(-1)表示程序异常退出 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回, ...

  6. c语言中exit和return的区别

    点击上方蓝字关注我,了解更多咨询 1.返回函数值的return是关键字,exit是一个函数. return是语言级的,它表示调用堆栈的返回:exit是系统调用级的,它表示一个过程的结束. 2.retu ...

  7. exit(0)与exit(1),return三者区别(详解)

    转自:https://www.cnblogs.com/ECJTUACM-873284962/p/6882448.html exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程 ...

  8. linux如何在C程序中使用exit,c语言exit和return区别,在fork和vfork中使用

    exit函数在头文件stdlib.h中. 简述: exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在main主函数中,则会退出函数并返 ...

  9. 在Linux中,_exit()、exit(0)、exit(1)、和return的区别!!

    功能: _exit() :退出程序: exit(0):运行正常退出程序: exit(1):运行异常退出程序: return():返回函数,若在主函数中,则会退出函数并返回值. _exit() 和 ex ...

最新文章

  1. HDU Problem - 4292 Food(最大流, 建边)
  2. 【JavaScript】JS事件机制学习
  3. mysql存储过程模糊查询_Mysql之存储过程“模糊查询drop表”
  4. GLog 初始化说明
  5. PPT将图片变为平行四边形形状
  6. 深入浅出强化学习_直播 | 深入浅出理解 A3C 强化学习
  7. 有关java的名句_关于志气的名言名句(精选50句)
  8. python 序列类型函数_序列类型可用的内置函数
  9. vue中进度条写法_vue实现简单loading进度条
  10. 概率论与数理统计(二)选择题
  11. 简书bug:不支持复制粘贴纯文本
  12. HTML5 -canvas拖拽、移动 绘制图片可操作移动,拖动
  13. 无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域。...
  14. -bash: vi: command not found -bash: ls: command not found
  15. k8s api文档 调用heapster metrics
  16. 《我和PIC单片机:基于PIC18》——导读
  17. 网易云信 web demo体验-会议
  18. 2020强网杯部分题总结与复现
  19. 北上杭是梦!“郑福贵”才是中国智慧城市的真相
  20. 模拟器xposed框架安装7.1-64教程

热门文章

  1. lna的噪声参数以及功率传输S11 S22
  2. 现代浏览器的模型(一)
  3. 程序员生存定律-六个程序员的故事(2) .
  4. COSCon'22@Beijing | 北京分会场等你赴约
  5. UVA 1025 紫书练习题 动态规划
  6. Opencv学习记录(三) —— 得到图像中目标物坐标的简单处理算法(望指正与补充)
  7. 首席新媒体运营黎想教程:社群搭建及运营实操攻略
  8. 小伙入职某互联网大厂的一天(1)
  9. 云服务器搭建开发环境
  10. i1U机架服务器做系统,微星MS-9211 1U 机架式服务器准系统