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

这篇具有很好参考价值的文章主要介绍了C语言:当函数定义时遗漏函数返回值类型以及函数遗漏return语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相关阅读

C语言https://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
}

        文章来源地址https://www.toymoban.com/news/detail-826916.html

到了这里,关于C语言:当函数定义时遗漏函数返回值类型以及函数遗漏return语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包