当前位置:首页 » 《随便一记》 » 正文

C语言:当函数定义时遗漏函数返回值类型以及函数遗漏return语句

21 人参与  2024年02月29日 13:01  分类 : 《随便一记》  评论

点击全文阅读


相关阅读

C语言icon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12423166.html?spm=1001.2014.3001.5482


         函数定义时需要明确给出返回值的类型,比如int main();表示主函数返回一个整数值,void func();表示func函数不返回值(但会函数也会返回,这是需要区分的)。

        void main();这种写法已经被普遍认为是不专业的,在C99标准中,规定main函数的返回值必须显式说明为int。而在C90标准中,如果不显式说明函数返回值,int类型为默认返回值类型,这是因为当时的函数大多数返回int类型。

void main();  //这是不专业的写法,即使在C90里面没有强制规定返回值类型int main();   //这是C99强制的写法main();       //C90中,这样写默认返回int类型

        对于返回值不为void的函数来说,需要有return语句帮助其显式地返回值。对于main函数来说,C99规定如果遗漏return语句,在执行到main函数的右括号}时,会自动返回0值,而对于其他函数则没有此要求。

        C99规定不允许在返回值类型不是void的函数中使用没有表达式的return语句(如果遗漏return,也能返回)。反之亦然,不允许在返回值类型是void的函数中使用带有表达式的return语句。

int test(){    printf("This is test."); //没有return语句,也能返回}int main(){    test(); //没有return但会返回0}
int test(){    printf("This is test.");     return;  //会报错,因为一个非void返回值类型的函数使用了没有表达式的返回值}int main(){    test();  //没有return但会返回0}
void test(){    printf("This is test.");     return 0;  //会报错,因为一个void返回值类型的函数使用了有表达式的返回值}int main(){    test();  //没有return但会返回0}

        


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/71461.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 重生八零:妹妹替我嫁给养猪万元户免费_[妹妹张志强家珍]小说章节试读
  • 宋南乔贺景川宋南乔贺景川免费
  • 错轨七年,得知真相后他疯了后续在线阅读_慕行渊小雨乔青璃节选高光片段速递‌
  • 万般风月解语花最新章节在线阅读_裴延江婉婉婉后续在线阅读
  • 「我们才刚答案,你成武圣了?」精彩章节试读_「杨间苏沐晴」精彩节选免费试读
  • (番外)+(全书)沈昭宜傅沉砚(填我十万八千梦+后续+番外)完结_(沈昭宜傅沉砚)列表_笔趣阁(填我十万八千梦+后续+番外)
  • (番外)+(全书)腐草为萤不相念全书+后续+结局(江心璐裴纪臣)全书免费在线_(腐草为萤不相念全书+后续+结局)列表_笔趣阁(江心璐裴纪臣)
  • 孟卿卿谢昭远绮萝(孟卿卿谢昭远绮萝结局+番外)_(孟卿卿谢昭远绮萝)列表_笔趣阁(孟卿卿谢昭远绮萝结局+番外)
  • 孤舟不渡我节选名场面直通车‌_傅斯屿沈静姝程晏淮完结版免费在线阅读
  • 今日热读(跟恶毒女配互换身体后,她哭惨了+后续+结局)沈思允谢景行_跟恶毒女配互换身体后,她哭惨了+后续+结局热点全书在线(沈思允谢景行)
  • 你是我难愈的旧伤+后续+结局(傅深铭夏晚星)_(傅深铭夏晚星)你是我难愈的旧伤+后续+结局列表_笔趣阁(傅深铭夏晚星)
  • 「匿爱成殇」完结_[苏晴顾言黄脸婆]精彩章节试读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1