该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105009146

main函数

  • 前言
    • main函数版本
    • 总结

前言

main函数是程序启动后执行的第一个自定义函数。从开始学习C语言到现在,我们似乎看到了很多个版本的main函数,那么哪一种才是正确的呢?我们先来看看目前有哪些版本。

main函数版本

第一种,没有返回值,没有入参:

main()

在C89标准中,这种写法是可以接受的,但使用现在的编译器编译时,会报告警,并且会将其返回值默认为int。实际上,如果函数没有显式声明返回类型,那么编译器会将返回值默认为int。

第二种,返回值为void,没有入参:

void main()

这种形式的来源不得而知。但是为何这么多初学者使用?main函数的返回值最终会作为程序的退出状态,而一旦声明为void,在程序退出后,想要获取其退出状态也就不可以了。因此不建议其返回值为void。

第三种,返回值为int,参数为void:

int main(void)

这是常见的一种写法。形参为void,表明它在调用的时候不能传

C语言的main函数到底怎么写的相关推荐

  1. char怎么比较_C语言的 main 函数到底怎么写才是对的?

    相信各位对C语言中的 main 函数大家都再熟悉不过了,这是你学习C语言首先就要学习的东西,但是我看过很多人写的代码包括我的一些读者在main函数的写法方面版本很多,今天就跟大家聊一聊main函数到底 ...

  2. c语言srand函数怎么用_C语言的main函数到底该怎么写

    前言 从开始学习C语言到现在,我们似乎看到了很多个版本的main函数,那么哪一种才是正确的呢?我们先来看看目前有哪些版本. main函数版本 第一种,没有返回值,没有入参: main() 在C89标准 ...

  3. 写的函数符号表里没有_你有没有想过,C语言 main 函数到底为啥这么写?

    但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...

  4. C语言 main 函数到底为啥这么写?

    但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...

  5. C语言Main函数到底有几种,你真的懂吗?

    乍一看标题,感觉小编小题大做,但凡学过C语言的聚聚,都知道C程序入口就是main函数,且一套程序里面有且仅有一个.但是很多时候我们看到的main函数却并不是千篇一律,格式竟然会有差别,这究竟是为啥?到 ...

  6. 【C语言】main 函数的正确写法

    作者在C语言的学习中发现,目前领域内的教科书.源代码中有多种版本的 main 函数在广泛使用.那么到底哪一种才是正确的呢?让我们先来看看目前广泛使用的有哪些版本: 版本一:没有返回值,没有参数 mai ...

  7. C语言的main函数,究竟有几种写法?

    从学习C语言开始就一直写个一个函数,那么你知道它的标准写法什么什么样吗? main函数,又称主函数,是程序执行的起点,我们平时写的main函数是什么样呢? 所以说,其他的写法并不符合标准,有些算是历史 ...

  8. c语言在main函数中结束,C语言程序执行时,必须从main函数开始,从mian函数结束。...

    C语言程序执行时,必须从main函数开始,从mian函数结束. 甲在上班途中遗失手机一部,语言程被乙拾得.甲发布悬赏广告称,语言程愿向归还手机者支付现金1000元作为酬谢.根据物权法律制度的规定,下列 ...

  9. go语言的main函数

    main函数不能带参数 main函数不能定义返回值 main函数所在的包必须为main包 main函数中可以使用flag包来获取和解析命令行参数

最新文章

  1. mysql高性能学习笔记03_MySQL高性能学习笔记
  2. SQLite学习手册(索引和数据分析/清理)
  3. LeetCode OJ 160. Intersection of Two Linked Lists
  4. qt自定义控件的样式
  5. HDOJ(HDU) 1994 利息计算(简单题目)
  6. PAT乙级(1014 福尔摩斯的约会)
  7. Java Web学习总结(7)——HttpServletRequest对象
  8. 通过EmbeddedServletContainerCustomizer接口调优Tomcat
  9. Android自定义布局的背景在多分辨率的情况下设置fill_parent时背景不能够横向全屏的问题解决...
  10. 农银电商项目学习笔记(一)
  11. 用R语言进行数据可视化的综合指南(一)
  12. html创建qq注册页面,用javascript制作qq注册动态页面
  13. 自制solidworks图框步骤_solidworks工程图模板制作教程(上) - CAD自学网
  14. 搭档之家:14天1.5万人民币!悉尼将征收入境隔离费
  15. OceanBase分区表使用
  16. 互联网 年龄歧视_太老了,无法玩:年龄歧视和游戏
  17. uart硬件一些小知识
  18. WPS如何并排放置两张图片_表格技巧—Excel如何截图
  19. 玩转WIN7的MKLINK
  20. [NodeBB]NodeBB论坛站点管理小结

热门文章

  1. 前端技巧:谷歌浏览器的font boosting[Text Autosizer]
  2. python列表使用技巧与方法_Python列表的相关操作与方法
  3. 照片识别出错_2.GQI2021强电专业点式专业图元识别连载
  4. 爬虫实战:爬虫加数据分析,重庆电气小哥一文带你分析重庆所有旅游景点
  5. VTK:vtkDelaunay2D用法实战
  6. JavaScript实现shortestCommonSupersequence最短公共超序列算法(附完整源码)
  7. boost::sort模块使用最坏情况进行常规 MSD 基数排序的排序示例
  8. boost::outcome模块comparison相关的测试程序
  9. boost::intrusive::list_member_hook用法的测试程序
  10. hana::detail::variadic::foldl1用法的测试程序