在C语言中,函数只能返回一个值,要返回两个值,可以改换思路,通过其它方式做到。1建立数组,返回指针。在要返回的两个值类型相同时,可以用创建数组的方式,将要返回的值存在数组中,并返回数组首地址,这样就可以实现返回两个值的效果。需要注意的是,要返回数组首地址,那么返回的值不可以是局部变量,有如下几种是可以的:
a)使用静态局部变量存储,并返回地址;
b)使用全局变量存储,返回地址;
c)函数中动态分配内存,并返回申请到的地址,此种方法需要注意,在使用后需要释放;
d)在参数中传入数组地址,并返回。即返回的实际上是主调函数中的变量地址。
2建立结构体,返回结构体变量。将需要返回的值,写成结构体形式,并返回结构体变量,这样可以实现一个返回值中含有多组数据。3当数据规模较小时,可以采用将小规模数据合并为大规模数据的方式,进行返回。
比如,需要返回两个char型数据时,可以通过返回一个short数据,高地位分别存储各自的值。
除以上方法外,还可以不使用返回值的方式,而是通过函数参数传值,或者全局变量传值等方式,将要返回的值回传给主调函数。