• C++ exit 与 return 浅析


    【摘要】
    本文从代码形式。经常使用方式,相关概念,调用关系和比較分析,这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的现象就非常模糊。多数情况下现象都是一致的。

  • 相关阅读:
    Office相关
    Eclipse常用设置
    Google logos 纪念电吉他大师莱斯·保罗(LesPaul)演示
    强烈推荐SQL Prompt 3.8,并发布SQL Prompt 3.8 ,SQL Refator 的xxx
    C#命令行编辑器csc.exe
    JSP中文乱码问题 页面经过过滤器后得到的是中文,但插入到MYSQL数据库却成了“?”为什么?
    (转贴)来谈谈SQL数据库中"简单的"SELECT TOP—可能有你从未注意到的细节
    C#Winform限制Textbox只能输入数字
    VPC2007虚拟机与主机的互连互通方法
    邮件会消亡是无稽之谈
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6927025.html
Copyright © 2020-2023  润新知