exit()和return的含义及区别
程序员文章站
2024-03-24 23:05:58
...
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()
所在头文件:stdlib.h(如果是”VC6.0“的话头文件为:windows.h)
功 能: 关闭所有文件,终止正在执行的进程。
exit(1)表示异常退出.这个1是返回给操作系统的。
exit(x)(x不为0)都表示异常退出
exit(0)表示正常退出
exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
推荐阅读
-
exit()和return的含义及区别
-
DK、JRE、JVM的区别及JavaSE、JavaEE和JavaME的区别 博客分类: java基础javaWeb学习
-
DK、JRE、JVM的区别及JavaSE、JavaEE和JavaME的区别 博客分类: java基础javaWeb学习
-
linux中进程退出函数:exit()和_exit()的区别
-
Java 基础— 引用变量编译时类型和运行时类型的区别 及属性和静态非静态方法调用规则
-
HashMap和Hashtable及HashSet的区别 博客分类: javanet
-
【C++】malloc/free和new/delete的区别及用法
-
js-储存-Cookie和localStorage及sessionStorage的区别
-
C#方法隐藏new、虚方法virtual、重写override及隐藏和重写的区别
-
js中for跳出循环(包括多层循环)return和break的区别