为什么在c语言里,int main中不加return0也可以?

教育网编2023-03-06 20:213110

main函数是我们学习C语言接触的第一个函数,相信对于下面的代码,大家再熟悉不过了。

为什么在c语言里,int main中不加return0也可以?

main函数的返回值首先要明确:在C/C++标准规范中,约定main函数必须要有返回值,返回值必须为int类型。

C99规定:如果 main 函数的末尾没有return 语句的话,编译器要自动在生成的目标文件中加入return 0,表示程序正常退出。

C++98 中定义main函数的用法与C99 中一致,即main函数必须有int类型返回值。如果main函数的末尾没有return语句,编译器要自动在生成的目标文件中加入 return 0; 。

所以在完全遵守C/C++标准的编译器中,int main不加return 0也是可以的,编译器会帮助补全这个逻辑。

但是不幸的是不是所有编译器的所有版本都能够支持标准规范,为了程序能够有更好的可移植性,建议不要省略return 0语句。

评论区