函数中有多个return?C语言中,一个函数可以有几个返回值?

C/C++语言 专栏收录该内容
4 篇文章 0 订阅

      在移植wifi的代码时,遇到了一些与下面类似的函数,这些函数中有不只一个return,这可是个新鲜的玩意儿:

int func (int b)
{
   int a=5;
   if (a>b)
      return a;
   else
      return b;

   return  0;
}

     原来C/C++ 中,reutrn语句是这样定义的:

     通过在函数中使用返回语句,返回一个值给函数,同时终止函数的调用,返回主函数。(注意:同时终止函数的调用,也就是说函数在运行到return时就会终止了。)

     格式:    return (表达式); 或return 表达式;

      功能:    

       (1)计算表达式的值,将表达式的值返回给函数。 

       (2)从被调用的函数返回主调函数。 
       说明: 
       (1)返回值类型应和函数类型一致,不一致将返回值自动转换成函数类型。 
       (2)函数中可以有多条返回语句,这时一般与if语句联用,执行到哪一条返回语句,哪条返回语句起作用。 
       (3)函数中无return语句,执行至函数体结尾时返回,此时将返回一个不确定的值给函数。
       (4)如果只需要从函数中返回,而不需带回值,使用不带表达式的return语句。

       此外,有时调用一个函数,需要返回多个参数,这种情况应当如何处理呢?

       可以有两种办法:一是申请一个全局变量,在函数调用时对其进行处理,返回主程序时仍然可用;另一种办法是,返回一个指针,指针指向一个结构体,或者一个数组,这样就能返回多个参数了。而指向结构体的指针,在很多情况下是很常见的。

  • 14
    点赞
  • 6
    评论
  • 35
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值