为什么要写int main()

[复制链接]
3505|8
 楼主| 张文XXX 发表于 2012-3-16 22:36 | 显示全部楼层 |阅读模式
以前学的都是void main()为什么非要写int main()?
logokfu 发表于 2012-3-16 23:07 | 显示全部楼层
标准C就是这么规定了, int main(),程序里return 0,表示正常进入主函数。keil编译时会自动加入return 0,所以不用手动写了。void main()其实是不合法的,只不过有的编译器支持这样写。
john_lee 发表于 2012-3-16 23:08 | 显示全部楼层
C新标准定义了main()必须是int类型。
 楼主| 张文XXX 发表于 2012-3-17 00:38 | 显示全部楼层
哦  ,谢谢前辈指点,以前学单片机都是void main(),突然提示我main的返回值应该是Int的   有点迷茫
梅花望青竹 发表于 2012-3-17 15:04 | 显示全部楼层
一般int main()为标准的函数原型,最后写个return 0;这样符合规定!
李富贵 发表于 2012-3-17 20:56 | 显示全部楼层
标准的C语言里面main就是int型的,返回0表示正常执行完毕,返回非零值表示执行错误,不同的值表示不同的错误代码。单片机没有OS,main函数返回值没有意义,所以要写成void型的。
拿起书本 发表于 2012-3-17 21:07 | 显示全部楼层
这是一种标准的规定,我是学C的,有时候不同的编译器可以使用void main()或者int main()但是既然人家有标准,那么你最好用int main(),最后return 0;就可以了。
我用的CB IDE就不允许使用void main()。
 楼主| 张文XXX 发表于 2012-3-18 12:05 | 显示全部楼层
这样啊!懂了。 6# 李富贵
dfsa 发表于 2012-3-18 16:55 | 显示全部楼层
LS的大侠已经解释的够清楚了,普及C常识
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

16

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部