c语言 返回多个值,c语言返回多个值

kodinid 4 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言 返回多个值的问题,于是小编就整理了3个相关介绍c语言 返回多个值的解答,让我们一起看看吧。

  1. C或C++中一个函数能不能返回多个值?
  2. C语言中函数调用怎么返回两个值?
  3. 用c语言求两个数的最大值?

C或C++中一个函数能不能返回多个值?

C系列语言是不能的,只能返回一个返回值。 但纠正一下三楼的说法,不是所有语言都是这样,比如matlab可以返回多个。 如果在C++语言中需要返回多个值可以有以下三种方法

1、返回一个数组的首地址,那么可以把整个数组的元素返回。 例如: double*a; a=f(); double*f() { b=(double*)malloc(8*2); b[0]=1; b[1]=2; returnb; } 但是多次调用还要考虑释放内存问题

c语言 返回多个值,c语言返回多个值-第1张图片-安济编程网
图片来源网络,侵删)

2、传入指针 例如: doublea[2]; f(a) voidf(double*a) { a[0]=1; a[1]=2; }

3、输入引用,可以返回不同类型变量 例如: a; doubleb; f(a,b) voidf(int&a,double&b) { a=1; b=2; }

C语言中函数调用怎么返回两个值?

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

c语言 返回多个值,c语言返回多个值-第2张图片-安济编程网
(图片来源网络,侵删)

2、通过使用指针返回结果为:

3、通过使用结构:因为结构是用户定义数据类型;可以定义一个包含两个整数变量的结构,并将更大和更小的值存储到这些变量中,然后使用该结构的值。

4、通过使用结构返回结果为:

c语言 返回多个值,c语言返回多个值-第3张图片-安济编程网
(图片来源网络,侵删)

5、通过使用数组,当一个数组作为参数传递时,基地址将传递给该函数,因此无论对数组副本所做的任何更改,都会更改为原始数组。

6、通过使用数组返回结果为:

在C语言中,函数只能返回一个值,要返回两个值,可以改换思路,通过其它方式做到。1建立数组,返回指针。在要返回的两个值类型相同时,可以用创建数组的方式,将要返回的值存在数组中,并返回数组首地址,这样就可以实现返回两个值的效果。需要注意的是,要返回数组首地址,那么返回的值不可以是局部变量,有如下几种是可以的:

a)使用静态局部变量存储,并返回地址;

b)使用全局变量存储,返回地址;

c)函数中动态分配内存,并返回申请到的地址,此种方法需要注意,在使用后需要释放;

d)在参数中传入数组地址,并返回。即返回的实际上是主调函数中的变量地址。

2建立结构体,返回结构体变量。将需要返回的值,写成结构体形式,并返回结构体变量,这样可以实现一个返回值中含有多组数据。3当数据规模较小时,可以***用将小规模数据合并为大规模数据的方式,进行返回。

比如,需要返回两个char型数据时,可以通过返回一个short数据,高地位分别存储各自的值。

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

用c语言求两个数的最大值

1.新建一个 使用宏定义获取两个数的最大值 项目如图所示:

2.添加一个 max.c 文件,如图所示:

3.包含需要用到的两个头文件,输入 main() 主函数,并且添加两个参数和返回值,如图所示:

4.使用define关键字,定义一个MAX()函数,该函数的功能:对两个数进行大小比较,输出大的,如图所示:

5.在main()函数中调用MAX()宏,如图所示:

到此,以上就是小编对于c语言 返回多个值的问题就介绍到这了,希望介绍关于c语言 返回多个值的3点解答对大家有用。

标签: 返回 数组 函数