`

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

    博客分类:
  • php
 
阅读更多

exit(0):正常运行程序并退出程序;

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

return():返回函数,若在主函数中,则会退出函数并返回一值。

详细说:

1. return返回函数值,是关键字; exit 是一个函数。

2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
3. return是函数的退出(返回);exit是进程的退出。

4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。exit是一个库函数,exit(1)表示发生错误后退出程序,exit(0)表示正常退出。在stdlib.h中exit函数是这样子定义的:void exit(int status)。这个系统调用是用来终止一个进程的,无论在程序中的什么位置,只要执行exit,进程就会从终止进程的运行。讲到exit这个系统调用,就要提及另外一个系统调用,_exit,_exit()函数位于unistd.h中,相比于exit(),_exit()函数的功能最为简单,直接终止进程的运行,释放其所使用的内存空间,并销毁在内存中的数据结构,而exit()在于在进程退出之前要检查文件的状态,将文件缓冲区中的内容写回文件。

5. return用于结束一个函数的执行,将函数的执行信息传出给其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS或其父进程,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出, 非0 为非正常退出。

6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。

分享到:
评论

相关推荐

    exit和abort及return的区别

    介绍C语言代码中的exit和abort及return的区别 exit() 结束当前进程/程序,在整个程序中,只要调用 exit ,就结束。 return() 是当前函数返回,当然如果是在主函数 main, 自然也就结束当前 进程了,如果不是,那就是...

    C语言exit和return函数的区别

    C语言的exit和return函数的区别

    delphi exit类似C return

    delphi中exit方法类似C++中的return方法。

    C++ 中exit(),_exit(),return,abort()函数的区别

    exit()函数与_exit()函数及return关键字的区别:  exit()和_exit()函数都可以用于结束进程,不过_exit()调用之后会立即进入内核,而exit()函数会先执行一些清理之后才会进入内核,比如调用各种终止处理程序,关闭...

    ABAP流程处理的命令说明(stop,exit,return,check,reject)

    ABAP流程处理的命令说明(stop,exit,return,check,reject)

    exit(-1)或者return(-1)shell得到的退出码为什么是255

    exit(-1)或者return(-1)shell得到的退出码为是255,大家知道为什么吗?带着这个疑问来脚本之家学习下吧,本篇文章告诉大家答案

    Python中exit、return、sys.exit()等使用实例和区别

    主要介绍了Python中exit、return、sys.exit()等使用实例和区别,本文是一个实际项目中的总结,需要的朋友可以参考下

    Visual C++中exit()和return的选择和使用

    Visual C++中exit()和return的选择和使用

    详解C语言中return与exit的区别

    详解C语言中return与exit的区别 1,exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些...

    java was started but returned exit code

    java was started but returned exit code=1; 关于Android最新的SDK下载解压后出现java was started but returned exit code=1;时的解决方法,我在网上参考相关文献后得出的,希望对你有用!

    c语言中return与exit的区别浅析

    1. exit 用于在程序运行的过程中随时结束程序,exit 的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有...

    解析php中die(),exit(),return的区别

    return就是纯粹的返回值了,但是也不会运行后续代码exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说: 1. return...

    Shell中exit和return的区别讲解

    今天小编就为大家分享一篇关于,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    进程退出控制exit

    在linux下通过C语言代码来描述进程退出exit、_exit、return之间的区别

    3_read.rar_return

    #include shm.h int main(int argc,char *argv[]) { key_t key int shm_id char *buf //鑾峰緱key if((key = ftok( ./ ,0xa)) < 0){ ... exit(1) ... if((shm_id = shmget(key,SHM_SIZE,IPC_... return 0 }

Global site tag (gtag.js) - Google Analytics