美文网首页
exit(0)与exit(1)、return区别(转载)

exit(0)与exit(1)、return区别(转载)

作者: FakeCSer爱去网吧 | 来源:发表于2020-02-27 10:40 被阅读0次

    exit(0)与exit(1)、return区别

    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/nufangrensheng/archive/2013/03/01/2938508.html

    相关文章

      网友评论

          本文标题:exit(0)与exit(1)、return区别(转载)

          本文链接:https://www.haomeiwen.com/subject/pfhthhtx.html