C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出?C语言的函数还真的只能有一个值返回,因为大部分情况下,我们不需要返回多个值,C语言规范中为了尽量避免程序设计的难度,就没有考虑函数的多个值的返回情况
C语言中的函数为什么只能有一个返回值输出?怎么实现多个值输出?
C语言的函数还真的只能有一个值返回,因为大部分情况下,我们不需要返回多个值,C语言规范中为了尽量避免程序设计的难度,就没有考虑函数的多个值的返回情况。即使有返回多个值的需求,也可以通过其它方式实现。我总结一下,大概有四种方式一(读:娱乐城yī). 传参数
通过指针或引【读:yǐn】用的方式可以在[zài]函数中改变传入参数的值,例如在做两个数的{读:de}交换时,如果用指针方式,可以像下面这样写
如果采用引用的方式澳门新葡京,稍微改一下就(读:jiù)好了,如下
这样a和b其【读:qí】实可以看成是{读:shì}要返回的两个值,这种通过指针和引用的方式一般是用得最多的多值返回方式。
二(练澳门巴黎人:èr). 返回元组
当然我们可以以数组的形式值返回,即使类型不一样也没有关系,比如{读:rú}要返回三种类型的值,都将它们存入到一个string类型的数组里面,将每一个类型的值(练:zhí)当成字符串存入,在使用时解析并转化一下类型就好了。
其实在C 11中世界杯就有tuple可以满足这个【gè】需求了,tuple中可以放不同类型的元素,并且在使用时也有对应方法获取变量值。例如
返回tuple的类极速赛车/北京赛车型,然(rán)后按下标获取对应的字段值即可。
三. 返回字(练:zì)符串
这种形[xíng]式是将返回的多个字段作为字符串通过一些分隔符拼接起来作为整体返回,跟返回字符串数组差不多,只不过一个返回字符数组的形式要多一个拼[拼音:pīn]接和分割操作,稍微麻烦一点,不过,在Java中这种方式我用得比较多。
四. 返回结构体
即直接定义一个结构体,这个结构体包含(拼音:hán)了所有要返回的值字段,类型可以不一样,但这样多定义了一个结构体,导(繁:導)致程序看起来比较冗余。
在C/C 语言中,虽然我们不能像Python那nà 样直接返回多个值,但通过上面的四(sì)种方式实现多个值的返回,也基本上能满足我们的需要。
本文链接:http://21taiyang.com/Family/12462132.html
函数调用时(读:shí)参数传递方式转载请注明出处来源