关于C语言return的一些总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于C语言中return的一些总结? return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值.? 说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.? 很多人甚至市面上的一些书籍,都使用了void?main(?)?,其实这是错误的。C/C++?中从来没有定义过void?main(?)?。C++?之父?Bjarne?Stroustrup?在他的主页上的?FAQ?中明确地写着?The?definition?void?main(?)?{?/*?...?*/?}?is?not?and?never?has?been?C++,?nor?has?it?even?been?C.(?void?main(?)?从来就不存在于?C++?或者?C?)。下面我分别说一下?C?和?C++?标准中对?main?函数的定义。? 1.?C? 在?C89?中,main(?)?是可以接受的。Brian?W.?Kernighan?和?Dennis?M.?Ritchie?的经典巨著?The?C?programming?Language?2e(《C?程序设计语言第二版》)用的就是?main(?)。不过在最新的?C99?标准中,只有以下两种定义方式是正确的:? int?main(?void?)? int?main(?int?argc,?char?*argv[]?)? (参考资料:ISO/IEC?9899:1999?(E)?Programming?languages?—?C?5.1.2.2.1?Program?startup)? 当然,我们也可以做一点小小的改动。例如:char?*argv[]?可以写成?char?**argv;argv?和?argc?可以改成别的变量名(如?intval?和?charval),不过一定要符合变量的命名规则。? 如果不需要从命令行中获取参数,请用int?main(void)?;否则请用int?main(?int?argc,?char?*argv[]?)?。? main?函数的返回值类型必须是?int?,这样返回值才能传递给程序的激活者(如操作系统)。? 如果?main?函数的最后没有写?return?语句的话,C99?规定编译器要自动在生成的目标文件中(如?exe?文件)加入return?0;?,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return?语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return?0;?,大概是因为?vc6?是?98?年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上?return?语句了吧!不过,gcc3.2(Linux?下的?C?编译器)会在生成的目标文件中加入?return?0;?。? 2.?C++? C++98?中定义了如下两种?main?函数的定义方式:? int?main(?)? int?main(?int?argc,?char?*argv[]?)? (参考资料:ISO/IEC?14882(1998-9-01)Programming?languages?—?C++?3.6?Start?and?termination)? int?main(?)?等同于?C99?中的?int?main(?void?)?;int?main(?int?argc,?char?*argv[]?)?的用法也和?C99?中定义的一样。同样,main?函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98?规定编译器要自动在生成的目标文件中加入?return?0;?。同样,vc6?也不支持这个特性,但是?g++3.2(Linux?下的?C++?编译器)支持。? 3.?关于?void?main? 在?C?和?C++?中,不接收任何参数也不返回任何信息的函数原型为“void?foo(void);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成void?main(void)?。然而这是错误的!main?函数的返回值应该定义为?int?类型,C?和?C++?标准中都是这样规定的。虽然在一些编译器中,void?main?可以通过编译(如?vc6),但并非所有编译器都支持?void?main?,因为标准中从来没有定义过?void?main?。g++3.2?中如果?main?函数的返回值不是?int?类型,就根本通不过编译。而?gcc3.2?则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用?int?main?。? 4.?返回值的作用? main?函数的返回

文档评论(0)

jccyyx010 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档