答案 0 :(得分:4)
此功能返回什么值。
main
需要声明为返回int
。返回值传递给调用者,调用者通常是操作系统。
5.1.2.2.1 Program startup
程序启动时调用的函数名为main。实施宣布否 这个功能的原型。它应该使用返回类型int和no来定义 参数:
int main(void) { /* ... */ }
或有两个参数(这里称为argc和argv,但可能有任何名称 使用,因为它们是声明它们的函数的本地函数):
int main(int argc, char *argv[]) { /* ... */ }
如果一个函数有两个主电源,会发生什么?
链接器报告错误。
答案 1 :(得分:1)
在C99 / C11中,如果在托管环境中达到main
,则0
会返回}
。否则,返回值未定义。
C11,§5.1.2.2.2程序执行
[...]到达终止
}
函数的main
返回值0.
答案 2 :(得分:0)
假设您正在使用C89或更早版本的编译器,那么</ p>
main()
{
...
}
返回int
。如果您使用的是C99或更高版本的编译器,则会出错。
从C99开始,如果在没有明确返回的情况下到达}
的结尾main
,则返回值为0.不确定C89或更早。
不确定“一个功能有两个主电源”是什么意思。如果程序定义了两个main
函数,那么您很可能在链接时获得重复的定义错误。