独闷闷网

 找回密码
 立即注册
搜索
查看: 5966|回复: 4
打印 上一主题 下一主题
收起左侧

[求助] int main( ){} ,void main( ){} ,int mian(void){}三者区别?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2014-7-22 13:36:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jianhong_wu 于 2015-5-22 06:11 编辑

ForARM-海角渔阳
鸿哥,我一直搞不懂这几个的区别
1、  int main( ){}
2、 void main( ){}
3、 int mian(void){}
求指教!

鸿哥解答:
(1)int main( )和int mian(void)是一样的,括号里可以写void,有很多C编译器也可以省略不写void,但是标准的写法应该在括号里写void。比如STM32单片机的编译器,必须在括号 写void。
(2)void main()与int mian()的区别:前面带void表示函数不返回值,带int表示函数内部要返回值,多加一句return 某值;
(3)在主函数中,只要能编译通过,int main( ){},void main( ){},int mian(void){}这三种写法没有区别。


乐于分享,勇于质疑!
沙发
发表于 2014-7-22 13:39:20 | 只看该作者
不错,回答的很好
乐于分享,勇于质疑!
板凳
发表于 2014-7-22 13:42:47 | 只看该作者
为什么在stm32里面,都是写int main(void),而且后面是没有返回值,也就是return 0,void main(void)编译器MDK出现警告?
乐于分享,勇于质疑!
地板
 楼主| 发表于 2014-7-22 13:47:48 | 只看该作者
黑夜之狼 发表于 2014-7-22 13:42
为什么在stm32里面,都是写int main(void),而且后面是没有返回值,也就是return 0,void main(void)编译器 ...

这个只是一种习惯性写法,至于它为什么不出现警告,不用深究,只要能编译通过就可以了。
乐于分享,勇于质疑!
5#
发表于 2014-7-22 14:07:04 | 只看该作者
jianhong_wu 发表于 2014-7-22 13:47
这个只是一种习惯性写法,至于它为什么不出现警告,不用深究,只要能编译通过就可以了。

明白了,谢谢鸿哥
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-4-27 05:37 , Processed in 0.162380 second(s), 16 queries .

快速回复 返回顶部 返回列表