c语言多个返回值
C语言中自定义函数返回值的个数
main()20. { 21. int a[]={1,2,3,4};22. int c; c = Pool(a,4);23.printf("Sum = %d\\nProduct = %d\\n",c[0],c[1]);24.getch();25.return 0;26. } 这样,我们就知道如何使用数组和指针从C函数中返回多个值。在很多情况下你会发现这个技巧很有用。
C语言中自定义或调用函数若是出现多个return返回值,对于主函数计算机会...
一个return只能返回一个值,即使有多个return也是返回第一个或符合条件的return,比如,有三个if语句,各有一个return那么只返回符合条件的那个,就算是三个都符合条件,也只返回第一个,因为return是函数的出口,执行任何一个return函数就结束了
C语言中return语句怎样返回两个或多个值
return语句不能直接返回多个值。如果想通过函数内部返回多个值的话,可是使用以下代码:include <stdio.h> \/\/定义一个s typedef struct _a{ int a;int b;}A,*PA;\/\/函数返回结构体变量,它里面就可以包含多个值 PA func(){ PA a = (A*)malloc(sizeof(A));a->a = 2;a->b = 3;...
C语言中主函数是否有返回值,如果有,最多有几个?
c语言中, 只要是函数,返回值只能有一个,要想使用这个函数同时改变多个数值,可以使用指针。主函数也不例外,c语言中主函数一般是void类型,即无返回值,如果你是软件专业,后续学习的c++将介绍有返回值的main主函数,我也是软件专业,有问题可以一起讨论,祝你学习顺利。
C语言如何写有返回值的函数
C语言,有返回值的处理,可以分两种情况,1,返回一个值,可以用:返回类型 函数名([参数列表]){ return (返回值);} 多个返回值,可以返回一个自定义结构体,返回结构体 函灵敏名([参数列表]){ return (结构体名);} 也可用指针的形式,直接操作,此时,接收返回值变量的地址,可以以指针的形式,传递给...
C语言中,通过函数调用只能获得一个返回值 这句话正确吗?
你好,目前c语言规定只能有一个返回值,但是你可以让这个返回值是一个结构体,或者是数组什么的,这样你就可以变相获得多个返回值了。
C语言一个函数为什么只能返回一个值
1 大多数情况下 一个返回值就够了 2 多个返回值需求的时候 可以用指针传参,带回主函数 3 如果一定要用返回值方式返回多个值,可以写成数组或者结构体。所以,对于C规范来说,没必要增加多个返回值,从而带来更大的设计难度。
C语言中自定义的函数可以一次返回多个值吗?就是用return一次返回多个...
这个目前C语言还不支持。目前C语言的返回值只能是一种类型。如果想返回多个值的话,那楼主可以定义一个结构体类型,将结构体类型返回就可以了。实例代码如下:include <stdio.h>#include <stdlib.h>struct return_test{ int a; int b;};struct return_test test_fun(){ struct return_tes...
...程序如何执行,如果想返回多个值,应该怎么办?
当有多个return时,执行完一个就会退出。这样不会返回多个值,你可以将形参定义为引用类型或指针类型,这样执行完后形参值就会改变,就像返回多个值一样
C语言中return语句怎样返回两个或多个值
没办法,你只能通过指针传递一个数组或结构体的地址进来,然后填入需要返回的内容,通过地址传参来解决多返回值的需求。
汝州市维柳回答: 函数最终只能返回一个值!!! 你可以用“数组或指针”; 如 #include<stdio.h> void ser(int *x,int *y) {*x=20;//把改变后的结果传给主函数*y=30; } void main() {int a,b;a=1,b=2;ser(&a,&b);printf("a:%d b:%d\n",a,b);}
兴科18497727770问: c语言一个函数能否有两个返回值 - ?
汝州市维柳回答: 应该是正确的,因为系统可能把a,b作为一个逗号表达式,返回逗号表达式的值b,不行的话,return (a.b);试试 你的语句可能正确,但你想让它返回a和b不可能,一个return 语句只返回一个值,执行完return,程序就结束
兴科18497727770问: 如果在c语言函数中有多条return语句,程序如何执行?如果想返回多个值,该怎么办 - ?
汝州市维柳回答: 第一、如果一个函数中出现了多出return语句,那么函数会执行首先遇到的那个return语句(不一定是写在最前面的). 第二、关于你所说的返回多个值的问题,因为C语言也是采用的按值传参的方式,所以只能返回一个返回值.如果需要得到多个返回值,那么可以采用指针做为函数参数(具体做法参见那个经典的交换两个数的操作),另外,如果参数个数太多,还是建议用结构体…… 呃,其实C++里可以用按引用传参数的方式搞定,只是我对C不是很熟习,貌似C中不能那样搞. 我晓得4种参数传递方式(按值传递,按引用传递,传指针,复制恢复),你自己可以在网上找找具体的操作方法和各种方式间的区别,认真领略下…… 共同学习了.呵呵
兴科18497727770问: c语言中能在子程序中多个返回值怎么在主程序中输出 - ?
汝州市维柳回答: 多个返回值有两种实现方法.一是使用结构体.将所有需要返回的数据封装成一个结构体返回.比如你想返回两个 int 类型的值,可以声明:struct node{ int x, y;}; 然后将函数的返回值类型设置为 node.第二种方法是在参数中使用指针或引用.在子函数中对指针指向的内存空间的修改,或者对引用类型变量的修改,都会直接反映到主函数中.
兴科18497727770问: C语言中关于 一个函数的多个返回值 - ?
汝州市维柳回答: 1、传入结构体指针,用结构体保存返回; 2、加个条件检测. #include<stdio.h> typedef struct _result { int ji; int tu; } result; int main() { int fun(int,int,result*); int sum,j_sum; /*sum为鸡和兔的总数,j_sum为鸡兔脚的总数*/ result r; int f; f = 1; do { printf...
兴科18497727770问: C语言中自定义的函数可以一次返回多个值吗?就是用return一次返回多个值 - ?
汝州市维柳回答: 这个目前C语言还不支持.目前C语言的返回值只能是一种类型.如果想返回多个值的话,那楼主可以定义一个结构体类型,将结构体类型返回就可以了.实例代码如下:#include <stdio.h>#include <stdlib.h> struct return_test { int a; int b; }; struct ...
兴科18497727770问: C语言 有多个返回值的定义函数,可以上机的;求高手指点下. - ?
汝州市维柳回答: 返回值只能有一个.你想想,如果有一个函数func(),它有两个返回值1、2,那么,执行a=func();之后,a的值应该是1还是2呢? 但有的时候,确实需要一口气返回多个值,这时可以借助指针、数组、结构等技术来实现. 举例: int *func() { int i=0,buf[100]; printf("请输入整数若干,输入空格则停止输入\n"); while((buf[i]=scanf("%d"))!=' ') i++; return buf; } (字数超了)
兴科18497727770问: C语言:如何定义一个函数!使它返回多个值 - ?
汝州市维柳回答: 可以有很多方法,如:1):自定义一个结构体,把你想要返回的信息放在结构体里返回.2):通过指针参数返回.3):映射同一内存区域..... 很多
兴科18497727770问: 编程中C语言函数想返回2个值该怎么办? - ?
汝州市维柳回答: 楼下真牛逼,恐怕是怪兽大学毕业的吧. 推荐做法 把函数声明写成这样int func(int* ret1,int* ret2) 这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子. 方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起.其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活.最后,警告一下不要用 return a,b之类的语句.因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;
兴科18497727770问: C语言自定义函数返回多个值 - ?
汝州市维柳回答: // 因为程序错得太离谱了,无心帮你修改,给你个例子吧#include <stdio.h>// 计算二维数组的最大值,并记录其行列号.void main() { int m, r, c; int a[3][4] = {{12,23,34,5},{45,32,56,6},{9,16,34,21}}; int max(int ia[][4], int *r, int *c); m = max(a, &r, &c); ...