exit(0)和exit(1)

exit(0)和exit(1)

exit好象在"stdlib.h"头文件里面,所以要有包含头文件   return是返回函数调用,如果返回的是main函数,则为退出程序

exit是在调用处强行退出程序,运行一次程序就结束

exit(1)表示异常退出.这个1是返回给操作系统的   exit(0)表示正常退出

数字0,1,-1会被写入环境变量ERRORLEVEL,其它程序可以由此判断程序结束状态。   一般0为正常推出,其它数字为异常,其对应的错误可以自己指定。

返回给操作系统的,0是正常退出,其他值是异常退出,在退出前可以给出一些提示信息,或在调试程序中察看出错原因.

#include "iostream.h"
#include "stdlib.h"
void fun()
{
int *p;
if(p=new int) //如果给P分派到空间,继续执行(很流氓的写法)
{
   *p=5;
   cout<<*p<<endl;
   delete p;
}
else
{
   cout<<"heap error"<<endl;
}
}
void main()
{
fun();
int *pa;
pa=new int[5];
if(!pa)//如果没分配到空间,调用exit(1)退出程序
{
   cout<<"heap error"<<endl;
   exit(1);
}
for(int i=0;i<5;i++)
   pa[i]=i+1;
for(i=0;i<5;i++)
   cout<<pa[i]<<" ";
cout<<endl;
delete []pa;
}

exit()是用来正常结束进程的.exit(0)是正常退出,return是返回某个值.

exit(0)程序结束时返回0给系统 exit(1)程序结束时返回1给系统 exit(n)程序结束时返回n给系统
这样系统就知道程序是怎么结束的~是出错结束的呢 还是正常结束的呢,一看返回值就知道了.

exit()函数无论你括号里用数字几效果都是相同的
但是你可以用不同的数字来区别退出的原因 比方 如果内存分配失败而exit(1) 打开文件失败而exit(2) 或者用来标示在此处退出,发生错误的严重性

exit是结束整个程序     exit();     exit(0);     exit(1);     exit(A);//A表示要返回的某个值         exit(0)正常退出     只要传给它非0   ,就表示程序非正常退出,   这个值会传给操作系统.

时间: 2024-08-29 08:43:53

exit(0)和exit(1)的相关文章

python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

os._exit() 和 sys.exit() os._exit() vs sys.exit() 概述 Python的程序有两中退出方式:os._exit(), sys.exit().本文介绍这两种方式的区别和选择. os._exit()会直接将python程序终止,之后的所有代码都不会继续执行. sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出.如果有捕获此异常的代码,那么这些代码还是会执行.捕获这个异常可以做一些额外的清理工作.

exit(0)和exit(1)区别

exit(0):正常退出程序: exit(1):非正常退出程序: return:返回. return是语言级别的,表示调用堆栈的返回: exit是系统调用级别的,表示一个进程的退出.

exit(0)与exit(1),return三者区别(详解)

exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数中,则会退出函数并返回一值. 详细说: 1. return返回函数值,是关键字:  exit 是一个函数. 2. return是语言级别的,它表示了调用堆栈的返回:而exit是系统调用级别的,它表示了一个进程的结束.   3. return是函数的退出(返回):exit是进程的退出. 4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的). 5. r

exit(0)与exit(1)

exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数中,则会退出函数并返回一值. 详细说: 1. return返回函数值,是关键字:  exit 是一个函数. 2. return是语言级别的,它表示了调用堆栈的返回:而exit是系统调用级别的,它表示了一个进程的结束.  3. return是函数的退出(返回):exit是进程的退出. 4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的). 5. re

王立平--android中让程序终止退出的解决办法 System.exit(0)

System.exit(0); System.exit(0)是将你的整个虚拟机里的内容都停掉了, 而finish()只是退出了activity,并没有退出应用,Application还是存在于内存中的,除非被系统回收. System.exit(0)是正常退出程序, System.exit(1)或者说非0表示非正常退出程序 System.exit(status)不管status为何值都会退出程序. 和return 相比有以下不同点:return是回到上一层,而System.exit(status)

android finish和system.exit(0)的区别

finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理:当调用System.exit(0)时,杀死了整个进程, 这时候活动所占的资源也会被释放. 在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果. 我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动

android Process.killProcess 和 System.exit(0) 区别

1 Process.killProcess  和 System.exit(0) 两个都会 kill 掉当前进程. 你可以打开 DDMM 查看进程号,进程确实被 kill 掉了. 2 如果是在第一个 Activity 调用 Process.killProcess 或 System.exit(0) 都会 kill 掉当前进程. 但是如果不是在第一个 Activity 中调用,如 ActivityA 启动 ActivityB ,你在 ActivityB 中调用 Process.killProcess

System.exit(0);和finish();,push原理

今天师姐问我安卓后台的问题,想起几年前做进制转换的时候特意研究了一下怎么才能「不驻留内存地退出」.虽然Android不推荐用户手动关闭进程,但是在那个内存捉襟见肘的年代,不得不考虑内存. 首先直接按back键肯定是会驻留内存的,其次finish()也可以结束Activity,但是也驻留内存(我还清楚地记得当时做过实验,业界良心没有没).试了很多方法,最后找到一种方法可以退出: 在底层的Activity上添加back键监听,然后在onClick()里面用这个方法: System.exit(0);

android开发时,finish()跟System.exit(0)的区别

这两天在弄Android,遇到一个问题:所开发的小游戏中有背景音乐,玩的过程中始终有音乐在放着,然后在我退出游戏后,音乐还在播放! 我看了一下我最开始写的退出游戏的代码,就是简单的finish()语句.我想应该是这个地方出了问题.后来想了想,以前好像见过有用System.exit(0)退出游戏的,然后就尝试了一下,发现问题果然解决了. 现在来彻底弄清楚两者的区别. 首先一个Activity是有生命周期的,onCreate,onStart,onResume,onPause,onStop,onDes