C++中程序结尾的return 0;是做什么的?

如题他是做什么的,它可以不加吗?0又是什么作用?多谢!... 如题 他是做什么的,它可以不加吗? 0又是什么作用?

多谢!
展开
 我来答
海狮2D
2012-02-11 · TA获得超过3018个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:982万
展开全部
问得很好,我看很多人都觉得没有,你能提出这个问题说明了仔细思考。
return 0,相当于exit(0),相当于exit(EXIT_SUCCESS);
对于你的程序本身没有意义,但是对操作系统有意义。
在stdlib.h里面有定义:
原文:
--------------------------------------------------
/* We define these the same for all machines.
Changes from this to the outside world should be done in `_exit'. */
#define EXIT_FAILURE 1 /* Failing exit status. */
#define EXIT_SUCCESS 0 /* Successful exit status. */
--------------------------------------------------------
翻译,对于所有的机器,这些值都相同。0表示程序正确结束,1表示程序整形失败。
当然此外还有中止等异常情况,只有0表示正常。
如果你不写,对于32-bit的intel系统,返回EAX寄存器的值,这可能给操作系统一个错误的信号。
强烈推荐:写上。
依据标准,main的正确形式是:
int main(...);
int main(int argc, char*argv[]);
应当返回程序状态。这些都只有构造大型系统的时候才能看出是多么关键。
----------------------------------------------------------
应用举例:
对于一个编译器,如果编译生成了一个目标文件、可执行文件,会返回0,否则返回非0值。
当上层应用程序,如Make,NMake等,收到了非0值就不会继续编译。
从而使用户能够处理错误。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式