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   ,就表示程序非正常退出,   这个值会传给操作系统.

原文地址:https://www.cnblogs.com/chenduzizhong/p/6087147.html