我应该什么时候结束C++;使用';返回0';? 我是C++新手,我正在读一本叫做《大C++》的书。在这本书中,我看到的所有示例程序都以返回0结尾。我可以明显地使C++程序运行在没有返回0;在最后,所以我想知道它有什么用途。我很熟悉从java中返回的方法,但是我不明白为什么C++中的代码> int()//c>需要返回0。为了更切中要害:我是否应该总是以返回0结束我的main()如果没有,我什么时候需要,什么时候不应该?什么是返回0告诉程序做什么 在相关的问题中,我假设C++中的main()是建立java中的main函数的main函数。对吗?为什么主方法被声明为整数?这就是在int main(){?

我应该什么时候结束C++;使用';返回0';? 我是C++新手,我正在读一本叫做《大C++》的书。在这本书中,我看到的所有示例程序都以返回0结尾。我可以明显地使C++程序运行在没有返回0;在最后,所以我想知道它有什么用途。我很熟悉从java中返回的方法,但是我不明白为什么C++中的代码> int()//c>需要返回0。为了更切中要害:我是否应该总是以返回0结束我的main()如果没有,我什么时候需要,什么时候不应该?什么是返回0告诉程序做什么 在相关的问题中,我假设C++中的main()是建立java中的main函数的main函数。对吗?为什么主方法被声明为整数?这就是在int main(){?,c++,return,main,C++,Return,Main,行中发生的事情,它表示应用程序的 例如,如果您通过一些脚本启动它,并且他们想要确定程序是否正常终止退出代码应为0,则非零表示某种类型的错误 说到Java 如果将int指定为返回类型,则必须返回,否则它将无法编译,如果为void类型,则它为零,除非jvm抛出异常主方法被声明为整数,因为您希望它返回一个。如果主方法返回0,则基本上意味着一切都正常G.T.P/>P>在C++的情况下,返回0;隐含/ 。 int main() { } 等于 int main() { return 0; } 请

行中发生的事情,它表示应用程序的

例如,如果您通过一些脚本启动它,并且他们想要确定程序是否正常终止退出代码应为
0
,则非零表示某种类型的错误

说到Java


如果将
int
指定为返回类型,则必须返回,否则它将无法编译,如果为void类型,则它为零,除非jvm抛出异常主方法被声明为整数,因为您希望它返回一个。如果主方法返回0,则基本上意味着一切都正常G.T.P/>P>在C++的情况下,<代码>返回0;隐含/ <代码>。
int main()
{
}
等于

int main()
{
    return 0;
}
请注意,作为应用程序入口点的
main
是唯一允许您省略非无效返回类型的
return
语句的


除此之外,该值本身用于通知任何其他进程(例如,父进程)执行结果,例如,通过posix
waitpid

读取该值。原则上,任何返回与
void
不同内容的函数都必须使用
return
语句退出(除非抛出异常):从函数末尾掉下来返回的不是
void
的内容会导致未定义的行为

< C++的美丽在于C++规则有很多例外:你可以从<代码>主()/<代码>结束,它的行为与使用<代码>返回ExITION成功; >代码相同>返回0;< /代码>。(虽然我没有任何可以引用的语句)。总之,虽然您不需要从
main()
返回任何内容,但使用合适的返回语句更为一致。我倾向于在幻灯片上为演示文稿添加代码时省略它,但在实际的程序中,我总是包含返回语句


BTW,如果您想指出C++程序失败,则应该返回 EXITION >,除了“代码> ExITION成功< /代码> >唯一保证的其他值。在实践中,其他返回代码也有效,但没有任何保证。

和无返回语句表示IMLICIT <代码>返回0;< /C>(仅在
main
中)如果将
int
指定为返回类型,则必须返回,否则它将无法编译,如果
void
type为零,除非jvmNo抛出异常,
main
存在异常(注意问题标记为C++)它是在Java下标记的,在此之前您应该一次只关注一个问题。我编辑了您的问题以删除第二个问题。您应该将其作为单独的问题发布。如果您觉得我的编辑不合理,您可以回滚我的编辑。C++的创建者有一个解释:@enedil:请注意,比亚恩的解释并没有解释为什么
return
语句可以省略!隐式
int
规则不是一个充分的理由,因为返回
int
的地方都可以省略返回类型,但所有其他函数仍然需要
return
语句。