Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ main()在哪里返回其值?_C++_C - Fatal编程技术网

C++ main()在哪里返回其值?

C++ main()在哪里返回其值?,c++,c,C++,C,我最近使用的是CODE::BLOCKS+mingw编译器 如果我没有在程序末尾键入return 0,我可以看到main()返回了一些整数,我了解到返回0的main()推断程序执行成功。我在代码中没有发现任何缺陷,为什么它返回了一些整数 其次 任何函数都将其值返回到函数调用,到主体()返回它的值的地方? < p> C++标准称,如果未显式返回值,编译器必须生成代码,就像您键入的: return 0; 返回值的确切含义及其返回方式取决于具体的实现。对于大多数操作系统,返回值成为进程的退出代码。ma

我最近使用的是CODE::BLOCKS+mingw编译器 如果我没有在程序末尾键入return 0,我可以看到main()返回了一些整数,我了解到返回0的main()推断程序执行成功。我在代码中没有发现任何缺陷,为什么它返回了一些整数

其次
任何函数都将其值返回到函数调用,到主体()返回它的值的地方?

< p> C++标准称,如果未显式返回值,编译器必须生成代码,就像您键入的:

return 0;
返回值的确切含义及其返回方式取决于具体的实现。对于大多数操作系统,返回值成为进程的退出代码。

main()
将其值返回给系统(虽然是间接的,现在我们不讨论这一点)

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

当然,其寓意是您应该始终以返回0结束main;

main()将其值返回给系统。然后系统可以将其用作错误或成功代码。在Linux中,您可以执行以下操作:

 $ yourprog && someotherprog
它将运行yourprog,然后运行其他prog,当且仅当yourprog返回0时

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

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

main()将其值返回给加载程序(系统)。 它指示程序是否成功执行。
返回(0);表示成功是未定义的:D!!!<!P>这只适用于C++;它没有被明确定义为使用的语言。@ Williham问题被标记为“C++”。它也被标记为“C”。而且,由于这个问题的出现,他显然没有用任何C++编译器(至少不兼容)。@Williham:n1256中也有类似的语言:“5.1.2.2.3程序终止1如果主函数的返回类型是与int兼容的类型,则从初始调用主函数的返回相当于调用退出函数,主函数返回的值作为其参数;10)到达终止主函数的}时,返回值为0。如果返回类型与int不兼容,则返回到主机环境的终止状态为未指定。“添加了强调符号。这仍然意味着minGW在该位上没有完全达到速度,不考虑语言。
stdlib.h
中定义了退出成功。