jianhong_wu 发表于 2014-7-22 13:36:53

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

本帖最后由 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){}这三种写法没有区别。


韩原123456 发表于 2014-7-22 13:39:20

不错,回答的很好

黑夜之狼 发表于 2014-7-22 13:42:47

为什么在stm32里面,都是写int main(void),而且后面是没有返回值,也就是return 0,void main(void)编译器MDK出现警告?

jianhong_wu 发表于 2014-7-22 13:47:48

黑夜之狼 发表于 2014-7-22 13:42
为什么在stm32里面,都是写int main(void),而且后面是没有返回值,也就是return 0,void main(void)编译器 ...

这个只是一种习惯性写法,至于它为什么不出现警告,不用深究,只要能编译通过就可以了。

黑夜之狼 发表于 2014-7-22 14:07:04

jianhong_wu 发表于 2014-7-22 13:47
这个只是一种习惯性写法,至于它为什么不出现警告,不用深究,只要能编译通过就可以了。

明白了,谢谢鸿哥
页: [1]
查看完整版本: int main( ){} ,void main( ){} ,int mian(void){}三者区别?已解答。