int main()vs void main()in C
这个问题在这里已经有了答案:
绝大多数时候, int main(void)
或int main(int argc, char* argv[])
是你需要使用的。 特别是,如果您正在编写一个程序,该程序将由任何主要编译器在个人计算机上运行,并具有全套C标准库,那么您几乎肯定需要从main
返回一个int
。
(我也会避免使用空的参数列表,请参阅“为什么我们不使用main(void)?”)
C99标准确实允许其他实现定义的签名,如果您已经阅读过编译器的手册并说明可以,那么您可以使用这些标准。
(5.1.2.2.1)它应该定义为返回类型为int且不带参数...或带有两个参数......或者以某种其他实现定义的方式
就我个人而言,即使它们被允许(如果可能),我也会避免它们,因为如果您需要移植到另一个系统,还有一件事需要担心。
看到下面的评论“为什么我们不使用主要的(void)?” 对此进行一些有趣的讨论。
如果你的书说void main()
它是非常非常过时的,是由一个白痴(或两者兼而有之)
编辑:好吧,除非你是在一个非常不可能的系统,你有一个独立的主 - 请参阅为什么C和C ++中的主要功能的类型留给用户定义?
void main()
无效C. int main()
是。 这是主要区别。