| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1180 人关注过本帖
标题:新手请教一个main常识问题
只看楼主 加入收藏
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
结帖率:91.67%
收藏
已结贴  问题点数:12 回复次数:5 
新手请教一个main常识问题
开始看谭浩强的时候定义是int main(),在学习过程中百度了下别人 的代码又是void main(),看郝斌视频又是int main(void),到底是哪一种的更规范?
搜索更多相关主题的帖子: 百度 
2017-01-21 12:41
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
int main(void)

void main() 最好不要使用,实际上有些编译器是不允许你这样写的。



[此贴子已经被作者于2017-1-21 13:23编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-21 13:14
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:12 

Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main() { /* ... */ } is not and never has been C++, nor has it even been C.(意为 void main() 从来就不存在于 C++ 或者 C )。
所以void main( )本身就是错误的。。。

如果看过 The C programming Language 2e 这相书话,里面的例子写的都是main() ,这是C89标准中的,N年前的东西了。。。

C99标准中,定义的是int main(void),这里的void说明main()是不接收参数的,这是标准的,不要让他空着,main 函数的返回值类型必须是 int ,为什么有的会通过呢?这是编绎器给你自动加上去的,最后的return 0;也是,不要省略返回。VC6不会在目标文件中自动加入return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0;

因此并非所有的编绎器都支持void main (),标准中从来没有定义过void main (),虽然有些编绎器会支持,但请记住int并不是缺省返回值类型。。。C++中也是一样的道理。

最后说点,VC++6.0并不支持C99标准,gcc等支持了大部分,目前好像还没有哪一款编绎器完全支持C99标准的,Dev-C++一样也不是完全支持的.

原文链接(转载请保留此行):http://hi.baidu.com/dream0xdl/blog/item/d5dad7ce6358f80192457ea9.html

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-21 13:23
C初见
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:61
专家分:52
注 册:2017-1-7
收藏
得分:0 
回复 3楼 renkejun1942
谢谢回答很详细
2017-01-21 13:33
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:0 
不必纠结,我用 keil,pelles,c程序设计学习与实验系统2013等编译系统都支持这种写法。只不过是要体现main是函数的的属性,其实它不会被调用,有没有返回都没用。

我是硬件工程师
2017-01-21 14:33
心中的淡蓝色
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-1-22
收藏
得分:0 
我有的时候都直接用的main耶
2017-01-22 12:29
快速回复:新手请教一个main常识问题
数据加载中...
 
   



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

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