龙空技术网

C 语言中,为什么 'void main0' 是错误的写法?

大方老师进阶上位机 391

前言:

如今小伙伴们对“c语言mainvoid”都比较讲究,兄弟们都想要分析一些“c语言mainvoid”的相关内容。那么小编在网络上网罗了一些对于“c语言mainvoid””的相关文章,希望我们能喜欢,我们一起来了解一下吧!

当我最开始学习 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语言资料包,私信我领取

标签: #c语言mainvoid