标题:void main VS int main
只看楼主
Rexfield
Rank: 6Rank: 6
来 自:幻想乡
等 级:侠之大者
威 望:1
帖 子:240
专家分:484
注 册:2010-7-28
结帖率:100%
已结贴  问题点数:20 回复次数:6 
void main VS int main
为啥好多人喜欢用void main而不是int main呢?
看了几个人的程序都是这样子的,我家gcc表示:
warning: return type of 'main' is not 'int'
搜索更多相关主题的帖子: void main int 
2010-07-29 20:52
毕业旅行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:130
专家分:280
注 册:2010-7-7
得分:5 
int main(void)
{
    return 0;
}
我倾向这样
2010-07-29 20:54
Rexfield
Rank: 6Rank: 6
来 自:幻想乡
等 级:侠之大者
威 望:1
帖 子:240
专家分:484
注 册:2010-7-28
得分:0 
我比较看好
int main(int argc,char *argv[])
{
    return 0;
}

If you're not failing every now and again, it's a sign you're not doing anything very innovative.
2010-07-29 20:56
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
得分:15 
貌似返回值的问题,发表一点我的看法,互相探讨:
main本身也是一个函数,所以可以向其条用着返回一个值,
而调用main函数的实际上是程序的执行环境。
通常返回0表示运行成功,非0表示运行失败,也就是说向环境返回其执行的状态。
那么如果你用void的话,表示没有返回值,我想这就是警告的原因吧~
一起学习。。。。
2010-07-29 21:00
mygameoh
Rank: 2
等 级:论坛游民
帖 子:50
专家分:15
注 册:2010-7-8
得分:0 
int main(void)才是正牌今天刚看到的,书上是这样讲的。
2010-07-29 21:33
bitterain
Rank: 2
等 级:论坛游民
帖 子:19
专家分:70
注 册:2009-11-13
得分:0 
C99 标准中,只有以下两种定义方式是正确的:

int main( void )/* 无参数形式 */
{       ...      
       return 0;  
}            
int main( int argc, char *argv[] )/* 带参数形式 */
{       ...      
       return 0;  
}
C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地表示:void main( ) 的定义从来就不存在于 C++ 或者 C 。
所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。

坚持使用标准的意义在于:当你把程序从一个编译器移到另一个编译器时,照样能正常运行。
2010-07-29 22:12
黑之牙
Rank: 2
等 级:论坛游民
帖 子:27
专家分:24
注 册:2009-7-17
得分:0 
int main()比较好
2010-07-29 23:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-314325-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.107013 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved