开发者

C语言函数多个返回值方式

目录
  • 函数返回多个值
    • 下面附上小小的demoandroid
  • 函数中有多个return?C语言中一个函数可以有几个返回值?
    • 总结

      函数返回多个值

      在平时项目中,我们会遇到一个函数要返回多个值的问题。

      但是c语言规定一个函数只能返回一个值,也就是说我们不能用return一个变量的方式返回多个值。

      那该怎么办呢?

      其实很简单,结构体轻而易举实现这个功能。

      下面附上小小的demo

      	#incandroidlude<stdio.h>
      	
      	typedef struct more{//结构体
      		int one;
      		int two;
      	}more; 
      	
      	more re()
      	{
      		more m = {1,2};
      		return m;
      	}
      	int main()
      	{
      		more m = re();
      		printf("%d %d",m.one,m.two);
      		return 0;
      	}

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

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

      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)从被调用的函数返回主调函数。 

      http://www.devze.com明: 

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

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

      而指向结构体的指针,在很多情况下是很常见的。

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新开发

      开发排行榜