首页 >

C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出? – 网络|

iphone美版怎么激活时间,nba2k11 ps3 王朝模式怎么开始,网站排名是什么意思C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出? - 网络|C语言中的函数为什么只能有一个返回值输出,怎么实现多个值输出

一.传参数

通过指针或引用的方式可以在函数中改变传入参数的值,例如在做两个数的交换时,如果用指针方式,可以像下面这样写

如果采用引用的方式,稍微改一下就好了,如下

这样a和b其实可以看成是要返回的两个值,这种通过指针和引用的方式一般是用得最多的多值返回方式。

二.返回元组

当然大家可以以数组的形式值返回,即使类型不一样也没有关系,比如要返回三种类型的值,都将它们存入到一个string类型的数组里面,将每一个类型的值当成字符串存入,在使用时解析并转化一下类型就好了。

其实在C++11中就有tuple可以满足这个需求了,tuple中可以放不同类型的元素,并且在使用时也有对应方法获取变量值。例如

返回tuple的类型,然后按下标获取对应的字段值即可。

三.返回字符串

这种形式是将返回的多个字段作为字符串通过一些分隔符拼接起来作为整体返回,跟返回字符串数组差不多,只不过一个返回字符数组的形式要多一个拼接和分割操作,稍微麻烦一点,不过,在Java中这种方式偶用得比较多。

四.返回结构体

即直接定义一个结构体,这个结构体包含了所有要返回的值字段,类型可以不一样,但这样多定义了一个结构体,导致程序看起来比较冗余。

在C/C++语言中,虽然大家不能像Python那样直接返回多个值,但通过上面的四种方式实现多个值的返回,也基本上能满足大家的需要。


C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出? - 网络|
  • 目前在学单片机,已经学会做流水灯了,怎么做红外遥控灯? - 网络|
  • 目前在学单片机,已经学会做流水灯了,怎么做红外遥控灯? - 网络| | 目前在学单片机,已经学会做流水灯了,怎么做红外遥控灯? - 网络| ...

    C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出? - 网络|
  • 肝癌的早期症状有哪些? - 网络|
  • 肝癌的早期症状有哪些? - 网络| | 肝癌的早期症状有哪些? - 网络| ...

    C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出? - 网络|
  • Vue被淘汰了吗? - 网络|
  • Vue被淘汰了吗? - 网络| | Vue被淘汰了吗? - 网络| ...