可能重复:
在C中定义无参数函数main()的标准方法
我可以在C中使用函数的声明定义,main()如下所示:
int main() {}
Run Code Online (Sandbox Code Playgroud)
是的,我看到标准说只有两个保证支持的版本:
int main(void) {}
Run Code Online (Sandbox Code Playgroud)
和
int main(int argc, char* argv[]) {}
Run Code Online (Sandbox Code Playgroud)
但空洞的做法呢?我知道它有另外的含义而不是C++(在C中,它意味着这个函数的参数的数量和类型是未知的),但我在C中看到了很多带有main 声明定义的代码.
那谁错了?
Ker*_* SB 10
在C,还有的之间的差异声明 int main();和int main(void);(前宣布与功能不明数量的参数,而后者实际上是被称为原型).然而,在函数的定义,都main()和main(void)定义一个函数,它没有参数.
另一个签名main(int, char**)是另一种形式.符合实现必须接受任何一种形式,但也可以接受其他实现定义的签名main().任何给定的程序当然只能包含一个名为的函数main.