tzkr.net
当前位置:首页 >> C语言中:函数Exit(%1);与Exit(0);的区别是什么?是返回值吗? >>

C语言中:函数Exit(%1);与Exit(0);的区别是什么?是返回值吗?

首先这个exit是针对你整个程序的进程而言的,也就是说让你的进程退出(不管这行代码是在程序的哪个地方,哪个函数),并返回了这个值.然后,你要知道你的程序的进程是有父进程的,除了系统开机时自启动的进程(Linux里面就是init,PID是0).所以返回的这个值就会被你的程序的父进程接受到,进而知道你的程序是正常退出还是出错中断的.

exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值.详细说: 1. return返回函数值,是关键字; exit 是一个函数. 2. return是语言级别的,它表示了调用堆栈

其它数字为异常.这个1是返回给操作系统的不过在DOS好像不需要这个返回值 exit(0)表示正常退出 ------------------------------------------------------------------- 无论写在那里,dos和windows中没有什么不一样,0是正常退出,1,在退出前可以给出一些提

1是非零值,代表真,表示结束应用程序 0代表假,表示不结束应用程序

exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点. 使用exit()时,可以不论main()的返回值类型.

所谓正常非正常只是一个约定而已 exit(0)与exit(1)都是表示退出,而当你退出后创建你这个进程的父进程是可以通过方法获得你的退出值.所以这个0,1是提供给父进程判断你运行正常与否用的 一般来说,0表示正常结束,1表示异常,你还可以定义出各个退出值的意义方便父进程判断

二楼说:exit(0);表示在正常下结束程序 exit(1);表示强制结束程序 这在Win32下正确.不过为了可移植性好,最好按照ISO2003标准写成:exit( EXIT_SUCCESS );exit( EXIT_FAILURE );其中EXIT_SUCCESS和EXIT_FAILURE是在cstdlib中定义的.不过在 Microsoft Studio 2008 Pro. 下,不需加cstdlib也可以.不过为了移植还是加上好.

这个值,是给调用本程序的程序是判断的,,,,所以,通常程序是正常结束时exit(0),有错误,根据不同的错误返回不同的值,方便知道是怎样的问题 ~~~~

_exit()函数的作用最为简单:直接使进程停止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构;exit() 函数则在这些基础上作了一些包装,在执行退出之前加了若干道工序,也是因为这个原因,有些人认为exit已经不能算是纯粹的系统调用. exit()函数与_exit()函数最大的区别就在于exit()函数在调用exit系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件,就是"清理I/O缓冲".

都是退出程序的代码,对于程序本身来说,效果一样,但对于调用该程序的程序来说就有区别了.比如a程序中存在exit(return_code);操作系统的shell调用a,则在shell中可以得到a的返回值:return_code.如果return_code可以反映a的执行结果,如0是成功,1是失败.则shell就可以通过该return_code判断a的执行情况了.

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.tzkr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com