main()在哪里返回它的值?

我刚刚使用CODE :: BLOCKS + mingw编译器如果我在程序结束时没有输入return 0,我可以看到main()返回一些整数,我知道main()返回0推断程序执行成功。我的代码中没有发现任何缺陷,为什么会返回一些整数?

其次,任何函数都将其值返回到函数调用,main()返回其值的位置?

C ++标准说如果你没有显式地返回一个值,编译器必须生成代码,就像你输入的一样:

return 0; 

确切地说,返回值的含义以及返回的方式是特定于实现的。 对于大多数操作系统,返回值将成为进程的退出代码。

main()将其值返回给系统。 然后,系统可以将其用作错误或成功代码。 在Linux中你可以这样做:

  $ yourprog && someotherprog 

当且仅当yourprog返回0时,它将运行yourprog,然后运行someotherprog。

在Windows中,您可以使用批处理脚本中的if errorlevel惯用法来检查程序的返回值。

此外,如果您从另一个进程(使用fork()CreateProcess()或其他东西)启动进程,您可以稍后检索其退出状态并相应地执行操作。

main()将其值返回给系统(tho’间接地,让我们暂时不讨论这一点)。

当控制到达具有返回值的函数的末尾时(例如, main() ;将返回的是寄存器中已经存在的任何内容,用于保存返回值(这有时是最后一个语句的值,有时候不是)。

当然,道德是你应该总是以0回报结束你的主要;

main()将它的值返回给loader(系统)。 它表明程序执行成功与否。 返回(0); 表示成功未成功:D !!!