-9

可能重复:
main() 在 C/C++ 中应该返回什么?

这个函数返回什么值。只是简单的主要。

main()
{
...
}

如果一个函数有两个 main ,会发生什么?

4

3 回答 3

4

这个函数返回什么值。

main需要声明为返回一个int. 返回值被传递给调用者,调用者通常是操作系统。

5.1.2.2.1程序启动

程序启动时调用的函数名为 main。实现没有声明这个函数的原型。它应定义为返回类型为 int 且不带参数:

int main(void) { /* ... */ }

或者带有两个参数(这里称为 argc 和 argv,尽管可以使用任何名称,因为它们是声明它们的函数的局部变量):

int main(int argc, char *argv[]) { /* ... */ }

如果一个函数有两个 main ,会发生什么?

链接器报告错误。

于 2012-10-18T17:01:34.200 回答
1

在 C99/C11 中,如果在托管环境中达到,则main返回。否则,返回值未定义。0}

C11, § 5.1.2.2.2 程序执行

[...] 到达}终止main函数的返回值 0。

于 2012-10-18T17:03:05.930 回答
0

假设您使用的是 C89 或更早版本的编译器,那么

main()
{
  ...
}

返回int。如果您使用的是 C99 或更高版本的编译器,则会出现错误。

从 C99 开始,如果在没有显式返回的情况下到达结尾}main则返回值为 0。不确定 C89 或更早版本。

不确定“一个功能有两个电源”应该是什么意思。如果一个程序定义了两个main函数,那么您很可能会在链接时遇到重复定义错误。

于 2012-10-18T19:39:40.110 回答