C语言main函数怎么写?6种写法教你正确使用入口函数
名为main的函数是C程序的入口之处的函数也就是程序的执行是从main函数起始的对于其他函数的调用也是直接或者间接地在main函数当中被调用的。那么main函数又究竟是被谁所调用的呢答案是操作系统。C语言发展到如今这个地步对于main函数存在多种不一样的写法下面就要来探究一下各种不同的写法。需要注意的是测试环境是Ubuntu17.10GCC版本是7.2.0。NO.1main(){}例#include main(){ printf(Hello World\n); }NO.2void main(){}例#include void main(){ printf(Hello World\n); }NO.3int main(){}例#include int main(){ printf(Hello World\n); return 0; }NO.4int main(void){}例#include int main(void){ printf(Hello World\n); return 0; }NO.5int main(int argc,char *argv[]){}例#include int main(int argc,char *argv[]){ printf(Hello World\n); return 0; }NO.6int main(int argc,char **argv){}例#include int main(int argc,char **argv){ printf(Hello World\n); return 0; }上边的测试情况表明写法1于C90标准状况下能够正常开展编译然而在C99以及C11标准状况下会抛出一则警告未书写返回值默认的返回值是int这也就等同于写法1与写法3是等价的。写法2至6在C90、C99、C11标准状况下均可正常编译。在这么多的写法当中究竟哪一些才属于main函数的标准写法呢于是去查阅了C标准文档里针对main函数的规范写法见下图能从标准文档那儿看得出写法4、5、6才是main函数的规范写法这儿写法5跟写法6是等价的那为啥会有写法1、2、3呢这是由于从1972年C语言被设计出来一直到C90标准发布那段时间针对C语言不一样的实现致使对main函数有差异性强烈不推荐写法2因为main函数被操作系统调用操作系统依据main函数的返回值判定程序的正确执行与否假如此返回值是void那代表的是啥状态呢。此外存在部分编译器支持这般写法而部分编译器却不支持并且所有的标准都未曾认可此种写法。对于写法1以及写法3勉强还能够予以接受不过也并不建议这么去写最好还是依照标准写法来进行书写。为何要依照标准写法来写呢那是由于为了让C程序具备更为良好的移植性。写法5跟写法6是等效的第一个参数意味着main函数参数的数量第二个参数借助指针分别指向这些参数。argv代表程序名argv直至argv代表程序参数。下面再看看main函数的返回值问题见下图从图里能够瞧得出来要是main函数的传回值是int类型的可兼容类型自main函数返回之后的值跟exit一块儿就如同执行了exit xxx。xxx指的是从main函数返回之后的值。要是忘掉写return语句当运行到main函数体的右大括号}时会返回默认值0。返回0意味着程序执行成功程序退出。要是main函数的返回类型并非int类型的可兼容类型程序返回给操作系统的状态将会不清晰。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2459616.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!