| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 498 人关注过本帖
标题:语言问题
只看楼主 加入收藏
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
结帖率:76.92%
收藏
 问题点数:0 回复次数:6 
语言问题
各位高手,问main前面加不加void有什么区别?
2011-03-18 18:06
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
收藏
得分:0 
我也是个菜鸟,我想知道c语言中各种英文的搭配和它们的意思。谢了
2011-03-18 18:10
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
论坛里面有同样问题,lz自己去搜索吧

免费赠送河蟹一只
2011-03-18 18:44
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:0 
void main()
有些编译器允许这种形式,但是还没有任何标准考虑接受它。因而,编译器不必接受这种形式,并且许多编译器也不这样做。再者说,如果坚持使用标准形式,那么当你把程序从一个编译器移到另一个编译器时也不会有问题!

——摘至《C primer plus 》  P18

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-03-18 19:26
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
永远用 int main 记住就行了。
2011-03-18 19:43
丞相杀手
Rank: 6Rank: 6
等 级:侠之大者
帖 子:203
专家分:462
注 册:2011-1-11
收藏
得分:0 
不加 void的是时候,相当于写了 int main()

int main()是C 语言main()函数的标准形式,这个函数会返回一个int 类型的数据,程序终止的位置需要写一条return 0 正常退出
考虑到程序会有不同的分支,有时候会出现 return 非0整数,这时候就是告诉操作系统,这程序运行时出现了异常,操作系统会根据返回值进行相应的后续操作

void main() 就把返回值去掉了,在这个函数中就不能有返回值了,这样程序只能以一种状态运行到终止而不造成程序没有相应,这样的写法没有被标准所接受,因为这样写出的程序的是不够强壮(《C primer plus 》 中提到到的,程序设计的一个原则,对算法的要求 Strong )的


斗不过疯子,不参与争论。
2011-03-18 20:26
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
连“如果函数没有返回类型就默认为是返回 int“的这种假设标准也拒绝了。
曾经的 void main 的处理方法是在 main 函数结束后,由编译器自动生成向系统返回 0 的語句。不过标准认为这种行为很不妥当,而没有采纳。
为了向后兼容,现在的编译器可能也接受 main() 或者 void main() 的写法。但应给出成严重级别的警告。
2011-03-18 23:00
快速回复:语言问题
数据加载中...
 
   



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

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