【摘要】

本文从代码形式。经常使用方式,相关概念,调用关系和比較分析,这5个维度浅析 exit 与 return 在C++的同样点与差别。

【常见形式】

exit(0):   正常执行程序并退出程序。
exit(1):   非正常执行导致退出程序;
return( ):返回函数,若在主函数中,则会退出函数并返回一值。

【相关概念】

  • return 语句可被用来使正在执行分支程序返回到调用它方法。表示中止当前函数的执行。并将操作权返回给调用者,假设是在main函数中。表示将操作权返回给操作系统。

假设符合某个条件要退出的话。能够用return返回,否则能够不写这句代码的,当程序运行到“}”时会自己主动返回,这个问题事实上你自己到机器上试一下就知道了。

只是作为一个良好的编程习惯,每一个函数都有返回语句倒是对的,这样更有可读性,并利于程序的维护 !

return 指令一个是返回一个指定数据给主调函数,另外的一个作用就是 结束 所在函数的运行,return 没必要要返回一个值。

  • exit()函数用于在程序执行的过程中随时结束程序,exit的參数state是返回给操作系统。返回0表示程序正常结束,非0表示程序非正常结束。main函数结束时也会隐式地调用exit函数。exit函数执行时首先会执行由atexit()函数登记的函数。然后会做一些自身的清理工作,同一时候刷新 全部输出流、关闭全部打开的流而且关闭通过标准I/O函数tmpfile()创建的暂时文件。

【另】

每一个进程都会有一个返回值的。进程開始时是由系统的一个启动函数掉用了main函数的:   
int nMainRetVal = main(); 
当从main函数退出后。启动函数便调用exit函数,而且把nMainRetVa传递给它。所以。不论什么时候都会调用exit函数的,正常情况下。main函数不会调用exit函数的,而是由return 0; 返回值给nMainRetVal的,exit再接收这个值作为參数的。所以,正常情况下是以exit(0)退出的。

假设。你程序发生异常,你能够在main函数中调用exit(1),强制退出程序,强制终止进程。非0表示不正常退出。

【比較分析】

1、return返回函数值,是keyword;exit是一个函数。

2、return是语言级别的。它表示了调用堆栈的返回;而exit是系统调用级别的。它表示了一个进程的结束。

3、return是函数的退出(返回);exit是进程的退出。

4、return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
5、return用于结束一个函数的运行,将函数的运行信息传出个其它调用函数使用;exit函数是退出应用程序。删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,通常是0为正常退出。非0为非正常退出。
6、非主函数中调用return和exit效果非常明显。可是在main函数中调用return和exit的现象就非常模糊。多数情况下现象都是一致的。

C++ exit 与 return 浅析相关推荐

  1. c语言exit和return区别,在fork和vfork中使用

    转自c语言exit和return区别,在fork和vfork中使用 exit函数在头文件stdlib.h中. 简述: exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: ...

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

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

  3. php exit、return、break、continue之间的差别,具体介绍

    相信大家在php开发中有几个经常使用的停止程序和循环的keyword的误区( exit.return.break.continue) exit 退出全部脚本,是个函数 return 语言结构的使用方法 ...

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

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

  5. SAP ABAP STOP,EXIT,CHECK,RETURN

    Stop 命令 使用该命令的程序位置 INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中 处理说明 1. 当在INITIAL ...

  6. C/C++语言函数学习(1):atexit、exit、return

    /*stdlib.h*void exit(int status);*功 能:终止程序*int atexit(void (*func)(void));*功 能: 注册终止函数,在main函数结束以后调用 ...

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

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

  8. Shell 中 exit 和 return 的区别

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

  9. exit abort return 区别

    exit(): 在调用时,会做大部分清理工作,但是决不会销毁局部对象,因为没有stack unwinding. 会进行的清理工作包括:销毁所有static和global对象,清空所有缓冲区,关闭所有I ...

最新文章

  1. SQL SERVER2008 镜像
  2. 用python绘制柱状图标题-Python数据可视化:5种绘制柱状图表的方法(附源码)...
  3. MPLSMTU对MPLS网络质量的影响
  4. 单招计算机考试知识点,单招考试数学必背知识点(11页)-原创力文档
  5. Spark _25.plus _使用idea读取Hive中的数据加载成DataFrame/DataSet(四)
  6. mysql 导入导出大文件
  7. c++string函数(一)——find、rfind详细用法
  8. python简笔画程序_使用python turtle绘制简笔画大白
  9. 如何快速学习一门新的编程语言?
  10. 【Luogu1160】队列安排(双向链表)
  11. NYOJ276 - 比较字母大小
  12. python reportlab模块
  13. 根据银行卡号查询银行名接口
  14. SPSS单因素方差分析流程 分析某因素对试验结果是否有显著影响
  15. 计算机mac地址为空,怎么查看电脑的Mac地址
  16. shell 命令笔记(Linux系统常见命令和Git使用,正在更新中)
  17. 山东理工大学ACM平台题答案关于C语言 1177 C语言实验——时间间隔
  18. Manjaro蓝牙连接问题
  19. 【树的算法】之求分割木板最小开销
  20. mac系统下不用u盘怎么装win7系统

热门文章

  1. 《见字如面》赏析-待续
  2. 随便贴两个漏洞,如 Apache JServ协议服务
  3. 微信公众号开发-接入
  4. centos系统设置局域网静态IP
  5. wordpress 显示数学公式 (MathJax-LaTeX)
  6. 二分法查找和普通查找
  7. LeetCode 24 Swap Nodes in Pairs (交换相邻节点)
  8. hibernate inverse属性的作用
  9. 第三十四天 how can I 坚持
  10. django的母板系统