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

原创 2012年03月29日 09:53:03

      在移植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语句。

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

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

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

在移植wifi的代码时,遇到了一些与下面类似的函数,这些函数中有不只一个return,这可是个新鲜的玩意儿: int func (int b) { int a=5; if (a>b)...
  • hicui
  • hicui
  • 2012年03月29日 09:53
  • 8600

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

在移植wifi的代码时,遇到了一些与下面类似的函数,这些函数中有不只一个return,这可是个新鲜的玩意儿: int func (int b) { int a=5; if (a>b)...
  • hicui
  • hicui
  • 2012年03月29日 09:53
  • 8600

c语言中多个函数作为另一个函数的参数时的调用顺序

//运行下面的代码#include int main() { f(f1(),f2(),f3()); return 0; }int f1() { int x = 4; printf(...
  • comet5161
  • comet5161
  • 2017年10月13日 15:34
  • 176

C语言中的return语句后面不加表达式,直接return;,返回的是什么?表示的是什么?

有一个小盆友今天问我这个问题,其实就是相当于什么也不返回,表示退出函数。 return有带参数和不带参数之分. return带参数的.就是.返回值. 不带参数的就是结束当前程...
  • Lison_Zhu
  • Lison_Zhu
  • 2017年08月21日 16:44
  • 1327

如何写出一个返回多个值的c语言子函数

今天跟以往一样刷水题,因为水题没有刷完。我发现刷水题还是有用的,自己没有理解清楚的c的知识,等你写的代码报错后,你就能都弄懂了。结果今天这题目引发我了我的一个问题,题目如下: 5个数求最值 时间限...
  • u014574317
  • u014574317
  • 2016年07月22日 10:23
  • 3395

如何在函数中不用return语句返回多个值

重点: 利用指针在被掉函数中改变主调函数中变量的值. 在主调函数中定义出需要得到的变量,将其放在被调函数声明的形参中,并以指针形式定义; 在被调函数中,通过计算得到需要的值并赋给指针变量 例如求三...
  • wutuobang055
  • wutuobang055
  • 2015年10月07日 19:44
  • 188

c语言一个语句中多个函数执行的顺序

已printf为例: 如printf("min = %d , topV = %d\n", min(&mystack), pop(&mystack)); 执行顺序是先执行pop,然后在执行min ...
  • WitsMakeMen
  • WitsMakeMen
  • 2014年01月01日 14:31
  • 3282

C语言函数的参数能允许几个

今天编写一个函数,需要传的参数比较多,算起来也有11个,突发奇想,一个函数能允许接收几个参数,还是没有限制,但是这样会影响函数的效率吗?带着所惑,在网上找了一些资料,最后对函数加了结构体进行改造。如有...
  • localhostcom
  • localhostcom
  • 2017年05月25日 00:01
  • 1055

如何编写有多个返回值的C语言函数

1引言      笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数。编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我们...
  • supreme42
  • supreme42
  • 2012年06月06日 00:17
  • 37828

C语言中一个函数怎样返回多个值

  • 2012年10月17日 12:21
  • 31KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:函数中有多个return?C语言中,一个函数可以有几个返回值?
举报原因:
原因补充:

(最多只允许输入30个字)