当我最开始学习 C 语言时,我看到一些书籍上写的是 "void main0",我并没有觉得有什么不妥。毕竟,一旦 main 函数运行完毕,程序就会结束,而且它还没有返回值。所以,我认为这种写法没有问题。
但是,当我学习更多的知识之后,我才发现 "void main0" 是错误的。正确的写法应该是 "int main()"。"main()" 函数是程序入口,由操作系统调用,并返回一个状态码,通常是 0,表示程序执行成功。如果程序运行过程中抛出异常或被任务管理器强制结束,则返回码不为 0。
有些编译器可能会默认认可 "void main()" 这种写法,但这并不意味着它是正确的。例如,VC6.0 和 Visual Studio 2005 版本的编译器可以编译这种写法而不报错。但像 gcc 编译器就会报错,因为它认为 "main" 函数必须返回一个整数。
我曾经在 Ubuntu 环境下使用 Code:Blocks 编写 C 语言程序。当我使用 "void main0" 这种写法时,编译阶段会报错,提示 "main must return int"。在这之前,我只是听别人这样说,没有深入思考过。
此外,在单片机开发程序时,程序通常是死循环,永远不会结束。这种情况下,写成 "void main()" 是完全正确的写法。
刚好,我这里有C语言资料包,私信我领取