c语言中函数返回两个值 c语言中函数返回两个值是什么
C语言函数返回2个值
首先比喻下函数是什么吧?
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了甘德免费建站欢迎大家使用!
函数简单的说就是一个黑箱子似的制造机器,你给他原料(输入参数)它给你制造出产品(函数返回的结果)。
所以函数的返回值一般就是你想要的结果。当然有些函数没有返回值,比如输出一句话的函数,这函数就没有返回值。c++用void型表示。但是求两个数的最大值函数int
max(int
a,
int
b)的返回值就可以是你求的最大的值。
int
max(int
a,
intb)
{
if(ab)
{
return
a;
}
else
{
return
b;
}
}
其中return返回的值就是函数的返回值。
c语言中在一个自定义函数中怎么返回两个值?
方法一:设置全局变量,这样在形参中改变全局变量,在实参中也会有效。所以可以在形参中改变多个全局变量的值,那么在实参中就相当于返回多个值。
方法二:如果用数组名作为形参,那么改变数组内容,比如排序,或者进行加减运算,回到实参时依然是有效的。这样也会返回一组值。
方法三:可以利用指针变量,这个原理和方法二是一样的,因为数组名本身就是数组首元素的地址。就不多说了。 用结构体封装不同类型数据,或者用数组表示同类型数据,然后返回结构体指针或者数组名,本质都是用指针来返回多个参数
方法四:如果学过C++,可以引用参数
编程中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语言中函数返回两个值是什么
转载来源:http://cdiso.cn/article/ddjphdj.html