精华内容
下载资源
问答
  • c语言return能不能有2以上返回值

    千次阅读 2021-05-21 04:32:57
    c语言return能不能有2以上返回值c语言return能不能有2返回值比如说return(a,b)更新时间:2019-05-18 06:19最满意答案不是,要想返回2以上返回值,建议返回值用数组或者参数用指针模式,直接改写2011-05-04 ...

    c语言return能不能有2个以上返回值

    c语言return能不能有2个返回值

    比如说return(a,b)

    更新时间:2019-05-18 06:19

    最满意答案

    不是,要想返回2个以上返回值,建议返回值用数组或者参数用指针模式,直接改写

    2011-05-04 回答

    其他回答

    如果你想返回多值的话,建议使用数组或指针(数组其实也是指针)

    2011-05-04 回答

    不能的,除非你定义一个结构

    typedef struct {

    int a;

    int b;

    } returnvalue;

    然后定义returnvalue v;

    v.a = a;

    v.b = b;

    return (v);就可以了

    2011-05-04 回答

    不能,如果你需要返回两个参数,可以在传参时定义以ref标识的参数,这样 这个参数的值是可以在方法执行完后被获得到的

    2011-05-04 回答

    相关问答

    消息通讯是异步的,receiver 需要给sender发个确认收到的消息,没有同步返回的功能。 你可以新创建个ack queue 来给sener 消费。大体是这样,代码一大堆,自己搜。

    1.先学习C语言的基础知识。现在正在学C语言的在校学生可以直接进入第2步学习。 2.按照《C语言程序设计入门学习六步曲》进行上机练习。 3.在上机练习时要养成良好的编程风格。点击查看C语言的编程风格 4.积极参加C、C++兴趣小组,养成和老师与同学交流习惯,从而相互收益。有时别人不经意的一句话可能使你茅塞顿开--“一句话点醒梦中人”。 5.及时总结自己的学习经验,养成写C语言日记的习惯。软件有编程日记功能。 6.从网上或教材上找一个自己感兴趣的题目(选题时根据自己的能力,可先易后难,培养自己的成就

    ...

    在C语言中,函数只能返回一个值,要返回两个值,可以改换思路,通过其它方式做到。 1 建立数组,返回指针。 在要返回的两个值类型相同时,可以用创建数组的方式,将要返回的值存在数组中,并返回数组首地址,这样就可以实现返回两个值的效果。 需要注意的是,要返回数组首地址,那么返回的值不可以是局部变量,有如下几种是可以的: a) 使用静态局部变量存储,并返回地址; b) 使用全局变量存储,返回地址; c) 函数中动态分配内存,并返回申请到的地址,此种方法需要注意,在使用后需要释放; d) 在参数中传入数组地

    ...

    不是,要想返回2个以上返回值,建议返回值用数组或者参数用指针模式,直接改写

    那表示你应该把“返回参数的方法A“和”A后面验证方法A返回值的方法B“的执行过程封闭成一个 test 方法。 一个 test case 是指”验证某个case是否正常“。复杂的多种情况应该分割成几个独立的 case 来测试。确保每个 case 都是原子性的 (Atomic)。如果你打算让一个 Case 中还讲究 if-else 来分别处理几种业务情况就表示你没理解单元测试的意思,你那样测试的不是”单元“而是”过程“。 而每个 JUnit test 方法应该是无状态的,无状态就是说,我们以任何次序和

    ...

    ... 从汇编的角度来说,函数返回值,其实就是函数返回后,cpu中eax的值。在C语言等语方中,在函数中写了返回语句,那么函数在返回时,就会对eax作最后赋值。 int find(int a,int b) { if(b<=0) return 100; else find(--a,--b);/这里为什么不用返回值?/ } //为什么不用返回值呢,因为此程序进行递归后,在最初返回时,eax的值被赋值为100,而之后的回溯过程中,程序并没有修改eax的值,所以到最后,返回值还是100。 这种写法是会出问

    ...

    age函数中有这句: c=age(n-1)+2; 这里就是age函数使用了它调用的age函数的返回值,这也就是递归. main函数中有这句: printf("%d",age(5)); 这里是主函数使用了它调用的age函数的返回值. 所以说,一个函数的返回值是给谁并不是在定义的时候就决定的,要看它被哪个调用. 简单地说,谁调用它了,他就把值返回给谁. (exit这种特殊情况不在我们的考虑之内^_^)

    C系列语言是不能的,只能返回一个返回值。 但纠正一下三楼的说法,不是所有语言都是这样,比如matlab就可以返回多个。 如果在C++语言中需要返回多个值可以有以下三种方法: 1、返回一个数组的首地址,那么可以把整个数组的元素返回。 例如: double* a; a=f(); double* f() { b=(double*)malloc(8*2); b[0]=1; b[1]=2; return b; } 但是多次调用还要考虑释放内存问题 2、传入指针 例如: double a[2]; f(a) v

    ...

    那是因为$html是按值传递的,它的新值是从函数本身返回的。 回应sql()本身的结果将产生正确的值。 echo sql($mysqli,$html);

    或者,您可以先将新值重新分配给$html : $html = sql($mysqli, $html);

    echo $html;

    That's because $html is passed by value and its new value is returned from the function itself. Echoing out

    ...

    这只是一种预感,但根据我的经验,在PHP中设计选择几乎没有理由或一致性。 我还发现很多函数在失败时返回FALSE ,许多函数补充说明你必须明确区分FALSE和强制为FALSE其他(有效)值,例如0 。 在这种情况下,我认为-1是一个更好的返回值。 当然,你总是可以返回-1并定义具有有意义名称的常量,并且只是映射到-1 。 This is just a hunch, but in my experience there is little reason or consistency to desig

    ...

    展开全文
  • 04-C语言如何返回两个甚至多个值

    千次阅读 2020-10-14 15:28:56
    #include <stdio.h> //C的返回值只能是0个或者1个...//如何返回两个值? //rt1和rt2称为输出参数 void Two(int *rt1,int *rt2) { *rt1 = 10; *rt2 = 20; printf("%d%d\n",*rt1,*rt2); } int main() { int a,b;
    #include <stdio.h>
    
    //C的返回值只能是0个或者1个
    void Zero()
    {
    	printf("0\n");
    }
    
    int One()
    {
    	printf("1\n");
    	return 10;
    }
    
    //如何返回两个值?
    //rt1和rt2称为输出参数
    void  Two(int *rt1,int *rt2)
    {
    	*rt1 = 10;
    	*rt2 = 20;
    	printf("%d%d\n",*rt1,*rt2);
    }
    int main()
    {  
        int a,b;
    	Two(&a,&b);
    	One();
    	Zero();
    }
    
    展开全文
  • C语言中一个函数怎样返回个值,return不能实现?
  • 编写c语言函数 ,如何实现一个函数返回两个值


    正常思维:使用return 语句,但每调用一次函数 return 语句只能返回一个值 。这是C语言语法规则。

    该怎么实现一个函数返回两个值或是多个值?,可以采用“间接方法”。大概有三种方法:全局变量法、变量指针法、结构体指针法等。

    1. 全局变量法

      全局变量法,顾名思义,将需要的变量X设为全局变量 ,在调用应用函数后,X 被附上值 ,可以直接使用X变量值。

    代码分析:(编程之美 小飞 电梯调度算法

    // 全局变量法 :返回多个值 
    //但毕竟全局变量应用过程中有很多危险,要慎重使用。  
    #include<stdio.h>
    /* 问题描述*/
     /** 
         * 编程之美 小飞 电梯调度算法 
         * 在繁忙的时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。 
         * 所有乘客都从一楼上电梯,到达某层楼后,电梯听下来,所有乘客再从这里爬楼梯到自己的目的层。 
         * 在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。 
         * 问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少? 
          
            思路:当电梯停靠在第i层时,乘客所要爬的总的楼梯数为Y. 
            假设有N1个乘客要到达的层数<i,有N2个乘客要到达的层数==i,有N3个乘客要到达的层数>i. 
            所以有: 
            (1)当电梯改停在i-1,则 Y+(N2+N3-N1) 
            (2)当电梯改停在i+1,则 Y+(N1+N2-N3) 
            所以当后面那部分的值<0时(如(2)的N1+N2<N3),则加上负数后总的楼梯数比原来的小,即更优解. 
            因此,我们可以从第一层开始,用以上策略,考察N1,N2,N3的值,依次调整以得到最优解. 
         */  
         
         
       	int  targartfloor;
    	int sumstars;
    void  getMinFloors(int N ,int * nperson)
    {
    	//int nperson[i]   //  到达i层下的总人数  
    	//int  targartfloor;
    	//int sumstars;
    	int N1;  // 到达i层以下    楼层总人数 
    	int N2;  //到达i层        楼层总人数  
    	int N3;  //到达i层以上    楼层总人数 
    	//初始化 
    	// 从第二层开始  计算N1 N2 N3
    	targartfloor=2; // 
    	N1=0;
    	N2=nperson[2]; // 第二层   
    	N3=0;
    	int i ,j;
    	for(i=3;i<=N;i++) 
    	{
    		N3+=nperson[i];
    		sumstars+=nperson[i]*(i-targartfloor);
    	}
    	 //让电梯依次改停在3楼、4楼...N楼,出现更优解时,则调整电梯停靠层数以及N1,N2,N3  
    	for(i=3;i<=N;i++)
    	{
    	if(N1+N2<N3)
    	{
    		targartfloor=i;
    		sumstars+=N1+N2-N3;
    		//  为下次判断  修正N1 N2  N3
    		N1 +=N2;
    		N2=nperson[i];
    		N3-=nperson[i];
    		
    		
    	} 
    	else
    	     break;
    	
    	
    	
    	} 
    	
    	
    	
    } 
    
    int main()
    {
    	int nperson[50]={0,0,2,5,7,8,9,6,6,1,4,4,8,5,2,4,5,8,6,3,3,5,9,9,6,6,9,8,8,5,5,9,6,6,3} ;
    	 //int nperson[50]={0,0,2,5,7,8,9,6,} ;
    	
    	int N=34;
    	int i;
    	for(i=2;i<=N;i++)
    	{
    		printf("在第%d层下的乘客人数为:%d\n",i,nperson[i]);
    		
    	}
    	
    	printf("************************************\n");
    	
    
    	getMinFloors(N,nperson);
    	printf("电梯停在第%d层,所有的乘客所需爬楼层数最少,最少为:%d层",targartfloor,sumstars);
    	
    	return  0;
    }


    设置全局变量targartfloor ,sumstats ,调用 getMinfloors函数后 ,在主函数中直接得有需要的targartfloor ,sumstats 的值。

    但毕竟全局变量应用过程中有很多危险,要慎重使用。全局变量维护起来麻烦,因为全局变量可能在多个地方被修改。在查错是也不好发现问题。


    2.变量指针法(数组指针法)

     C语言函数参数的传递方式有值传递与地址传递。当进行值传递时,主调函数把实参的值复制给形参,形参获得从主调函数传递过来的值运行函数。在值传递过程中被调函数参数值的更改不能导致实参值的更改。

    而如果是地址传递,由于传递过程中从实参传递过来的是地址,所以被调函数中形参值的更改会直接导致实参值的更改。可以把变量的地址作为函数的形式参数,函数被调用后,形参元素改变导致实参改变,我们再从改变后的实参数组元素中获得函数的多个返回值。

    (如果所求的返回值类型相同,我们可以考虑把多个返回值作为数组元素定义成一个数组的形式,并使该数组的地址作为函数的形式参数,以传址方式传递数组参数。函数被调用后,形参数组元素改变导致实参改变,我们再从改变后的实参数组元素中获得函数的多个返回值。)

    代码分析:(编程之美 小飞 电梯调度算法 

    #include<stdio.h>
    /* 问题描述*/
     /** 
         * 编程之美 小飞 电梯调度算法 
         * 在繁忙的时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。 
         * 所有乘客都从一楼上电梯,到达某层楼后,电梯听下来,所有乘客再从这里爬楼梯到自己的目的层。 
         * 在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。 
         * 问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少? 
          
            思路:当电梯停靠在第i层时,乘客所要爬的总的楼梯数为Y. 
            假设有N1个乘客要到达的层数<i,有N2个乘客要到达的层数==i,有N3个乘客要到达的层数>i. 
            所以有: 
            (1)当电梯改停在i-1,则 Y+(N2+N3-N1) 
            (2)当电梯改停在i+1,则 Y+(N1+N2-N3) 
            所以当后面那部分的值<0时(如(2)的N1+N2<N3),则加上负数后总的楼梯数比原来的小,即更优解. 
            因此,我们可以从第一层开始,用以上策略,考察N1,N2,N3的值,依次调整以得到最优解. 
         */  
         
       
    
    void  getMinFloors(int N ,int * nperson ,int *targartfloor,int *sumstars)
    {
    	//int nperson[i]   //  到达i层下的总人数  
    	//int  targartfloor;
    	//int sumstars;
    	int N1;  // 到达i层以下    楼层总人数 
    	int N2;  //到达i层        楼层总人数  
    	int N3;  //到达i层以上    楼层总人数 
    	//初始化 
    	// 从第二层开始  计算N1 N2 N3
    	*targartfloor=2; // 
    	N1=0;
    	N2=nperson[2]; // 第二层   
    	N3=0;
    	*sumstars=0;
    	int i ;
    	for(i=3;i<=N;i++) 
    	{
    		N3+=nperson[i];
    		(*sumstars)+=nperson[i]*(i-2);
    	}
    	 //让电梯依次改停在3楼、4楼...N楼,出现更优解时,则调整电梯停靠层数以及N1,N2,N3  
    	 i=0;
    	for(i=3;i<=N;i++)
    	{
    	if(N1+N2<N3)
    	{
    		*targartfloor=i;
    		(*sumstars)+=N1+N2-N3;
    		//  为下次判断  修正N1 N2  N3
    		N1 +=N2;
    		N2=nperson[i];
    		N3-=nperson[i];
    		
    		
    	} 
    	else
    	     break;
    	
    	
    	
    	} 
    	
    	
    	
    } 
    
    
    
    
    int main()
    {
    	int nperson[50]={0,0,2,5,7,8,9,6,6,1,4,4,8,5,2,4,5,8,6,3,3,5,9,9,6,6,9,8,8,5,5,9,6,6,3} ;
    	 //int nperson[50]={0,0,2,5,7,8,9,6,} ;
    	int  targartfloor;
    	int   sumstars;
    	int N=34;
    	int i;
    	for(i=2;i<=N;i++)
    	{
    		printf("在第%d层下的乘客人数为:%d\n",i,nperson[i]);
    		
    	}
    	
    	printf("************************************\n");
    	
    
    	getMinFloors(N,nperson,&targartfloor,&sumstars);
    	printf("电梯停在第%d层,所有的乘客所需爬楼层数最少,最少为:%d层\n",targartfloor,sumstars);
    	
    	
    
    	return  0;
    }

    传递变量地址&targartfloor  &sumstats    调用函数后 形参元素改变导致实参改变. 变量targartfloor sumstars  中包含所需的值。

    值得注意的是 传入变量初始化问题。

    另:数组指针传递  可以把 两变量写进数组A ,A[]={targartfloor,sumstars},  此时函数变为  void getMinfloor(int N ,int *nperson, int A函数内用 A[0] A[1] 代替变量targartfloor,sumstars 参与运算。调用函数: int B[2]={};getMinfloor(int N ,int *nperson, B),求得B[0] B[1]  中包含所需的值。

    3.结构体指针传递法

      我们知道如果返回的数个数值的数据类型不一致,可以考虑把要求返回的数个值定义成一个结构体,然后同样以传递结构体指针方式把结构体的指针传递给形参结构体指针,那么函数中对形参结构体的修改即是对实参结构体的修改,函数被调用后获取的实参结构体成员即为函数的多个返回值。

    // 测试返回多个值  ------结构体法:试用 返回不同类型的数据   
    //传递结构体指针
    #include<stdio.h>
    /* 问题描述*/
     /** 
         * 编程之美 小飞 电梯调度算法 
         * 在繁忙的时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。 
         * 所有乘客都从一楼上电梯,到达某层楼后,电梯听下来,所有乘客再从这里爬楼梯到自己的目的层。 
         * 在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。 
         * 问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少? 
          
            思路:当电梯停靠在第i层时,乘客所要爬的总的楼梯数为Y. 
            假设有N1个乘客要到达的层数<i,有N2个乘客要到达的层数==i,有N3个乘客要到达的层数>i. 
            所以有: 
            (1)当电梯改停在i-1,则 Y+(N2+N3-N1) 
            (2)当电梯改停在i+1,则 Y+(N1+N2-N3) 
            所以当后面那部分的值<0时(如(2)的N1+N2<N3),则加上负数后总的楼梯数比原来的小,即更优解. 
            因此,我们可以从第一层开始,用以上策略,考察N1,N2,N3的值,依次调整以得到最优解. 
         */  
         
         
         struct minfloor
         {
         	 	int  targartfloor;
             	int sumstars;
         };
         
      
    void  getMinFloors(int N ,int * nperson, struct minfloor *mf)
    {
    	//int nperson[i]   //  到达i层下的总人数  
    	//int  targartfloor;
    	//int sumstars;
    	int N1;  // 到达i层以下    楼层总人数 
    	int N2;  //到达i层        楼层总人数  
    	int N3;  //到达i层以上    楼层总人数 
    	//初始化 
    	// 从第二层开始  计算N1 N2 N3
    	mf->targartfloor=2; // 
    	N1=0;
    	N2=nperson[2]; // 第二层   
    	N3=0;
    	int i ,j;
    	for(i=3;i<=N;i++) 
    	{
    		N3+=nperson[i];
    		mf->sumstars+=nperson[i]*(i-mf->targartfloor);
    	}
    	 //让电梯依次改停在3楼、4楼...N楼,出现更优解时,则调整电梯停靠层数以及N1,N2,N3  
    	for(i=3;i<=N;i++)
    	{
    	if(N1+N2<N3)
    	{
    		mf->targartfloor=i;
    		mf->sumstars+=N1+N2-N3;
    		//  为下次判断  修正N1 N2  N3
    		N1 +=N2;
    		N2=nperson[i];
    		N3-=nperson[i];
    		
    		
    	} 
    	else
    	     break;
    	
    	
    	
    	} 
    	
    	
    	
    } 
    
    int main()
    {
    	int nperson[50]={0,0,2,5,7,8,9,6,6,1,4,4,8,5,2,4,5,8,6,3,3,5,9,9,6,6,9,8,8,5,5,9,6,6,3} ;
    	 //int nperson[50]={0,0,2,5,7,8,9,6,} ;
    	
    	int N=34;
    	int i;
    	struct minfloor pr;
    	for(i=2;i<=N;i++)
    	{
    		printf("在第%d层下的乘客人数为:%d\n",i,nperson[i]);
    		
    	}
    	
    	printf("************************************\n");
    	
    
    	getMinFloors(N,nperson,&pr);
    	printf("电梯停在第%d层,所有的乘客所需爬楼层数最少,最少为:%d层",pr.targartfloor,pr.sumstars);
    	
    	return  0;
    }


    原理同方法2 类似。

    三种方法 都得到同一结果:


    小结: 复习小飞 电梯调度算法(动态规划法)时,引申出C语言的一个基本问题:一个函数如何返回两个值或多个值?

    建议使用方法:变量指针法 或是结构体指针法。

    展开全文
  • 本文介绍了一种使用数组的方法实现C语言函数返回值得方法。
  • 本文主要给大家介绍了关于C/C++接收return返回来的数组元素的相关内容,下面话不多说了,来一起看看详细的介绍吧。returnreturn 在执行之前会创建一临时的变量,来保存要传回的,返回值:返回一副本,原本的...

    本文主要给大家介绍了关于C/C++接收return返回来的数组元素的相关内容,下面话不多说了,来一起看看详细的介绍吧。

    return

    return 在执行之前会创建一个临时的变量,来保存要传回的值,

    返回值:返回一个副本值,原本的已被消除

    返回指针:当返回的时候,原指针空间会被消除,如果没有被其它程序使用,则是能正确返回,如果释放后被其它程序使用,则会有可能修改掉此空间内的值,返回值会错误;

    引言

    我们知道return语句作为被调用函数的结束,返回给调用者函数值。一般来说,是返回一个函数值,像一个int, double,char等类型的数据,当然也可以是他们的指针。但是当我们遇到要返回很多数怎么办呢?通常想到的是以数组的形式返回,下面就让我们来看看:

    通常来说有两种方式:

    1.通过返回传入数组指针的方式;

    2.以指针变量作为函数参数,来实现数组的返回。

    一、返回传入数组指针的方式

    首先我们来看看这种方法所涉及的知识:

    (1)指针函数。C语言中允许一个函数返回值是一个指针(地址)基本格式是: 基类型 * 函数名(参数列表)

    (2)静态变量与局部变量。我们知道C语言程序在运行时,操作系统会给其分配内存空间。这段空间主要分为四个区域,分别是栈取,堆区,数据区,代码区。那么静态变量是存放在数据区,作用范围是全局的,在内存中只存储一份。局部变量通常放在栈中,随着被调用的函数的退出内存空间自动释放。 要接收被调函数返回的指针,那么可以使用一个指针变量。关键是被调函数用什么去返回数组的首地址,正如前面所说,被调函数在执行完之后内存空间就被释放。这里提供两种方法解决这一问题:1)通过传入一个空的数组头地址,返回这个变量

    //通过返回传入数组的指针的方式

    #include"stdio.h"

    #include

    using namespace std;

    //定义指针函数

    int *copy(int array[], int a[], int n);

    int main(){

    int size = 4;

    int a2[4];

    int a1[4] = {3, 5, 7 ,8};

    int *p;

    p = copy(a1, a2, size);

    cout << p[0] << " " << p[1] << " "<

    return 0;

    }

    int *copy(int array[], int a[], int n)

    {

    for(int i = 0; i < n; i++)

    a[i] = array[i];

    return a;

    }

    代码中我们可以看到通过返回main函数中的a数组的首地址,将其付给指针变量p,从而达到数组传递的作用。程序允许结果是如下:

    543d3c1ce2682811a4a3cc0358341628.png

    2) 我们知道静态变量能够在整函数作用有效那么,我们可以定义一个静态的局部变量的数组来达到返回的效果:

    //使用静态变量进行返回

    #include

    //定义产生数组的函数

    int *TestFuction();

    int main(){

    int *p;

    p = TestFuction();

    while(*p != 0){

    printf("%d", &p);

    p++;

    }

    return 0;

    }

    int *TestFuction(){

    static int test[5] = {8, 4, 5, 2, 7};

    return test;

    }

    从上面代码可知test数组是一个静态变量,在被调函数执行完成之后不会被释放,执行结果如下:

    d4b4a15672b837d045c4c71819157ff3.png

    二、以指针变量作为函数参数,实现数组的返回

    指针变量变量需要动态分配内存,通常放在堆区中,该区域内通常又程序员分配或释放。将要处理的数组的首地址以实参的形式传递给函数处理,处理完后的指针适合实参的数组同一块地址,达到返回数组的效果。

    示例代码如下:

    //使用指针变量作为函数参数,来实现数组的返回

    #include

    //定义一个以指针变量作为形参的函数,n作为循环次数

    void SumTest(int *p, int n);

    using namespace std;

    int main2(){

    int i = 0;

    int a[5] = {8, 5, 3, 2, 6};

    SumTest(a, 5);

    while(i < 5){

    cout << a[i] << " ";

    i++;

    }

    cout << endl;

    return 0;

    }

    void SumTest(int *p, int n){

    int i = 0;

    while(i < n){

    *p = *p + 1;

    p++;

    i++;

    }

    }

    如代码所示,指针变量作为参数传入函数中,进行数据处理,之后返回的就是处理后的数据。执行结果如下:

    5c9cf5aa171dbb6dd120280767291daa.png

    以上几种方法就能够实现,数组的返回。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    展开全文
  • 有一天,我正愉悦地写着函数,突然,我想让这个函数返回个值, 一下子懵逼了呀 无奈之下,只好翻阅资料,整理了这篇文章 本文的结构如下: 1.三种函数返回多个返回值的方法: ​     1.全局变量法(慎...
  • #include<stdio.h> #include<stdlib.h> int GetMax(int m, int n) { if (m > n) { return m; } else { ...return n;...printf("两个数值之间最大的是:%d\n",resul..
  • c语言return机制

    千次阅读 2021-05-25 06:07:54
    0引C/C++中,函数内部的一切变量(函数内部局部变量,形参)都是在其被调用时才被分配内存单元。...(注:其实C语言传参方式只有传值一种形式,作者这里指的传址,形式上是传指针,其实这指针也被拷贝了一份,只不...
  • return()语句能返回个值

    千次阅读 2021-03-09 06:54:26
    展开全部函数的return语句只能返回个值,可以是任何类型。32313133353236313431303231363533e59b9ee7ad9431333431353933因此,可以“返回一个tuple类型,来间接达到返回个值”。例1、:x除以y的余数与商的函数...
  • C语言返回2变量的方法

    千次阅读 2017-09-17 10:18:49
    return new int[] { i, j };
  • C语言两个变量的交换——指针

    千次阅读 多人点赞 2018-05-27 12:44:54
    C语言中交换两个变量的可以在主函数中直接实现,也可以通过子函数来实现。下面我们介绍用子函数实现的情况。 1.将两个变量的作为实参直接传递,在子函数内部定义一个普通变量来对两个形参进行交换,并分别在子...
  • 给定一个整数数组 nums 和一个整数目标 target,请你在该数组中找出 和为目标 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意...
  • c语言编程:输入两个3行4列的矩阵,计算并输出两个矩阵的和.#include#defineROW3//行数#defineCOL4//列数voidPlusMatrix(in帮忙解答C语言题1编程输入两个数,输出其中较大的数.2输入三个小写字母,输出其ascll码和对应...
  • C语言return的用法详解,C语言函数返回值详解

    千次阅读 多人点赞 2020-07-05 17:55:26
    @C语言return的用法详解,C语言函数返回值详解 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的...
  • c语言return的用法

    千次阅读 2021-05-21 16:03:06
    c语言return的用法函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这结果通过 return语句返回return 语句的一般形式为:return 表达式;或者:return (表达式);有没有( )都是正确的,为了...
  • C语言返回数组

    千次阅读 2019-04-12 12:49:56
    1.使用全局变量 2.使用静态局部变量 3.在函数内动态分配内存 4.在函数调用参数中传入数组地址
  • C语言返回个值

    千次阅读 2015-03-24 08:38:57
    百度上下载的,不知道源自谁。...有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值;或者把需要返回个值
  • return返回一个数组(返回多个值)的方法

    千次阅读 多人点赞 2020-06-03 20:00:56
    种方法可以让函数返回个值,一种是返回数组,一种是返回结构体。下面只是返回数组的: int* q(int t1){ //2。注意返回类型 int result[2]; //2.定义数组 //巴拉巴拉巴拉巴拉 return result; //3.返回的是数组...
  • 最近使用OpenCV来搞图像算法的工程化应用,采用C语言作为编程语言。 遇到了一棘手的问题: 我将算法都封装成不同的函数,在matlab中调用该函数很简单,如下: %matlab 函数示例 [im,para]=function dip_func(Iin);...
  • C语言函数多返回值

    千次阅读 2020-04-21 20:40:50
    但是c语言规定一个函数只能返回个值,也就是说我们不能用return一个变量的方式返回个值。那该怎么办呢? 其实很简单,结构体轻而易举实现这个功能。下面附上小小的demo: #include<stdio.h> typedef ...
  • C语言:比较两个字符串是否相等

    千次阅读 2021-05-18 10:06:43
    1) 使用strcmp进行比较下面通过一例子进行演示:#include #include int main(void){char* str1 = "abc";char* str2 = "abc";if (strcmp(str1, str2) == 0) {printf("str1和str2相同!\n");}else {printf("str1和str...
  • //求输入的两个数当中,最大的 int Max(int a,int b) { return a&amp;gt;b?a:b;//如果a&amp;gt;b,返回a,否则返回b } int main() { int a=20;//输入两个变量 int b=30; printf(&quot;...
  • 可以使用库函数strcmp判断,具体如下: strcmp是C语言比较字符串的库函数,形式为int strcmp(char *a, ...C语言中如何比较两个【字符】或者【字符串】是否相C语言中用strcmp函数比较字符和字符串是否相等。 strcmp...
  • 关于return 的返回值有关问题

    千次阅读 2021-05-21 06:45:28
    两个return返回表示什么意思。return分享到:------解决方案--------------------return可以返回任意的意义要看你的代码本身了。有可能是类似bool,表示true、false,也可能是错误代码,或者是其他可能。你...
  • C语言return用法

    万次阅读 多人点赞 2020-04-06 12:46:57
    C语言return的用法详解,C语言函数返回值详解 摘自C语言中文网:http://c.biancheng.net/view/1855.html 我觉得对return讲得不错,终于把return弄明白了。 函数的返回值是指函数被调用之后,执行函数体中的代码...
  • 关于c语言中的return 0

    千次阅读 多人点赞 2020-05-01 10:07:59
    return语句提供了一个值时,这个值就成为函数的返回值。 return语句用来结束循环,或返回一个函数的值。 1、return 0,说明程序正常退出,返回到主程序继续往下执行。 2、return 1,说明程序异常退出,返回主调...
  • C语言学习之求两个整数的最大

    千次阅读 2020-02-20 17:50:27
    C语言学习之求两个整数的最大 #include <stdio.h> int main(){ int a,b,c;//定义变量 int max(int x,int y);//调用函数max的声明 scanf("%d,%d",&a,&b);//输入变量 c=max(a,b);//调用max函数,...
  • C语言的返回值return总结

    千次阅读 2016-11-28 00:45:32
    return语句提供了一个值时,这个值就成为函数的返回值. 说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.很多人甚至市面上的一些书籍,都使用了...
  • 参考代码: #include用C语言编写两个数求和求积求商?利用C语言编写一个求两数相加的和的编程思想和方法如下:1.首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。2.然后使用scanf()语句接收...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 194,023
精华内容 77,609
关键字:

c语言return返回两个值

c语言 订阅
友情链接: oreillyJbossAtWork2005.rar