void main与int main(void)

今天c语言课刚开,从开始的时候看C语言二级的题目到现在新发的课本,最不顺眼的就是主函数只用一个main()或用void main()。
查阅资料发现:C99标准中,定义的是int main(void),这里的void说明main()是不接收参数的,这是标准的,不要让他空着,main 函数的返回值类型必须是 int ,为什么有的会通过呢?这是编绎器给你自动加上去的,最后的return 0;也是,不要省略返回。VC6不会在目标文件中自动加入return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0;
Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main() { } is not and never has been C++, nor has it even been C.
事实上,新的C99标准中,只有以下两种定义是正确的:
int main( void )
int main( int argc, char *argv[] )
而学校的教材推荐使用的书使用的是C99的标准,里面的内容却是用的C99之前的,学校使用老的标准以及VC6.0环境也许是无奈之举。希望以后能够推陈出新,计算机的等级考试也能不再是为了出题而出题。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值