当前位置:首页 » 编程语言 » c语言函数返回两个值

c语言函数返回两个值

发布时间: 2022-05-12 00:52:28

‘壹’ c语言中调用函数如何返回多个值

1、通过使用指针,在函数调用时,传递带有地址的参数,并使用指针更改其值;这样,修改后的值就会变成原始参数。

‘贰’ 编程中C语言函数想返回2个值该怎么办

楼下真牛逼,恐怕是怪兽大学毕业的吧。
推荐做法
把函数声明写成这样int func(int* ret1,int* ret2)
这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子。
方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活。最后,警告一下不要用 return a,b之类的语句。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;

‘叁’ C语言函数想要返回两个值,怎么做

单独返回两个值好像不行的,只能通过指针改变两个值,或者返回一个数组也行

‘肆’ c语言中在一个自定义函数中怎么返回两个值

方法一:设置全局变量,这样在形参中改变全局变量,在实参中也会有效。所以可以在形参中改变多个全局变量的值,那么在实参中就相当于返回多个值。
方法二:如果用数组名作为形参,那么改变数组内容,比如排序,或者进行加减运算,回到实参时依然是有效的。这样也会返回一组值。
方法三:可以利用指针变量,这个原理和方法二是一样的,因为数组名本身就是数组首元素的地址。就不多说了。 用结构体封装不同类型数据,或者用数组表示同类型数据,然后返回结构体指针或者数组名,本质都是用指针来返回多个参数
方法四:如果学过C++,可以引用参数

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

方法一:设置全局变量,这样你在形参中改变全局变量,在实参中也会有效。所以你可以在形参中改变多个全局变量的值,那么在实参中就相当于返回多个值。
方法二:如果你用数组名作为形参,那么你改变数组内容,比如排序,或者进行加减运算,回到实参时依然是有效的。这样也会返回一组值。
方法三:可以利用指针变量,这个原理和方法二是一样的,因为数组名本身就是数组首元素的地址。就不多说了。
方法四:如果你学过C++,可以引用参数

‘陆’ C语言函数返回2个值

首先比喻下函数是什么吧?
函数简单的说就是一个黑箱子似的制造机器,你给他原料(输入参数)它给你制造出产品(函数返回的结果)。
所以函数的返回值一般就是你想要的结果。当然有些函数没有返回值,比如输出一句话的函数,这函数就没有返回值。c++用void型表示。但是求两个数的最大值函数int
max(int
a,
int
b)的返回值就可以是你求的最大的值。
int
max(int
a,
intb)
{
if(a>b)
{
return
a;
}
else
{
return
b;
}
}
其中return返回的值就是函数的返回值。

‘柒’ C语言 如果调用两个函数 就是返回两个值

如果使用 return 语句的话,那么一次函数调用就只能返回一个值;如果想一次函数调用操作就能够返回两个值的话,那么就只能够通过传递指针变量实现。例如下程序:

void mysubcall(int *, char *) ;
void main( )
{
int num = 10 ;
char mystr[20]=“1234567890”;
mysubcall(&num,mystr);
printf(“%d %s\n”,num,mystr);
}
void mysubcall(int * num, char mystr[20])
{
(*num)+=40;
mystr[5]+=5;
}
该子函数返回的就是两个值:改变后的数字、以及改变后的字符串。

‘捌’ C语言中函数调用怎么返回两个值

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

2 建立结构体,返回结构体变量。
将需要返回的值,写成结构体形式,并返回结构体变量,这样可以实现一个返回值中含有多组数据。

3 当数据规模较小时,可以采用将小规模数据合并为大规模数据的方式,进行返回。
比如,需要返回两个char型数据时,可以通过返回一个short数据,高地位分别存储各自的值。

除以上方法外,还可以不使用返回值的方式,而是通过函数参数传值,或者全局变量传值等方式,将要返回的值回传给主调函数。

‘玖’ C语言中return语句怎样返回两个或多个值

/*我把楼主的稍微改了一下,一个函数里面只能有一个return语句,因为程序执行到这个return语句的时候就已经返回的,他后面的语句都不会执行。所以搂主你的max函数中虽然有两个return,但是后面一个根本就不会执行。要想让一个函数返回多个值,可以用传地址来实现,下面是这个程序*/
#include
"stdio.h"
int
max(int
x,int
y,int*
z);//第三个参数传的是地址用来保存最大值加100
void
main()
{

int
a,b;

int
maxLi
=
0;//保存最大值加100

int
maxNum=
0;//保存最大值

scanf("%d,%d",&a,&b);

maxNum=max(a,b,&maxLi);
/*函数的返回值本身就是最大值,所以可以用一个整形变量来存储他,而由于第三个参数传的是maxLi的地值,用来存放最大值加100,他与函数里面的改变是同步的,所以可以保存而不丢失,这样两个数值都得到了*/

printf("Max
is
%d,%d",maxNum,maxLi);
}
int
max(int
x,int
y,int*
z)
{

int
tmp
=
0;

tmp=x>y?
x:y;

*z=tmp+100;
//将tmp+100存到z里面地值(就是maxLi的地质)所表示的内存

return
tmp;
}

‘拾’ c语言一个函数能否有两个返回值

应该是正确的,因为系统可能把百a,b作为一个逗度号表达式,返回逗号表达式的值问b,不行的话,return
(a.b);试试
你的语句可能正确,答但你想让它返回a和b不可能,一版个return
语句只返回一个值,执行完权return,程序就结束

热点内容
linux搭建android开发环境 发布:2025-05-11 00:18:45 浏览:947
web本地存储 发布:2025-05-11 00:13:33 浏览:360
为什么暗格里的密码搜不到了 发布:2025-05-11 00:13:31 浏览:942
oracle存储过程使用变量 发布:2025-05-11 00:10:07 浏览:741
用安卓下载苹果的软件叫什么 发布:2025-05-11 00:08:22 浏览:115
断牙脚本 发布:2025-05-11 00:04:21 浏览:68
sim卡的密码怎么设置密码 发布:2025-05-10 23:41:09 浏览:716
自定义缓存注解 发布:2025-05-10 23:40:06 浏览:118
sqltext类型长度 发布:2025-05-10 23:30:21 浏览:979
图形AI算法 发布:2025-05-10 23:30:19 浏览:183