十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
楼下真牛逼,恐怕是怪兽大学毕业的吧。
10年积累的网站设计、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有乐山免费网站建设让你可以放心的选择与我们合作。
推荐做法
把函数声明写成这样int func(int* ret1,int* ret2)
这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子。
方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活。最后,警告一下不要用 return a,b之类的语句。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;
首先比喻下函数是什么吧?
函数简单的说就是一个黑箱子似的制造机器,你给他原料(输入参数)它给你制造出产品(函数返回的结果)。
所以函数的返回值一般就是你想要的结果。当然有些函数没有返回值,比如输出一句话的函数,这函数就没有返回值。c++用void型表示。但是求两个数的最大值函数int
max(int
a,
int
b)的返回值就可以是你求的最大的值。
int
max(int
a,
intb)
{
if(ab)
{
return
a;
}
else
{
return
b;
}
}
其中return返回的值就是函数的返回值。
方法一:设置全局变量,这样在形参中改变全局变量,在实参中也会有效。所以可以在形参中改变多个全局变量的值,那么在实参中就相当于返回多个值。
方法二:如果用数组名作为形参,那么改变数组内容,比如排序,或者进行加减运算,回到实参时依然是有效的。这样也会返回一组值。
方法三:可以利用指针变量,这个原理和方法二是一样的,因为数组名本身就是数组首元素的地址。就不多说了。 用结构体封装不同类型数据,或者用数组表示同类型数据,然后返回结构体指针或者数组名,本质都是用指针来返回多个参数
方法四:如果学过C++,可以引用参数
函数是不能直接返回两个值的,不过可以通过数组,列表,链表等方式,返回多个值。
例如 int a[] f(),这个shu函数返回值就是一个整型的数组,如果你要返回两个值,可以定义数组长度为2,a[0]保存第一个值,a[1]保存第二个值。
int fun(int a, int b, int *c, int *d);
参数是a,b,返回值是c,d,c和d用指针传进去。
c,d可以是其他参数类型,也可以是数据结构。
函数返回值可以用于返回error。
扩展资料:
如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……
类型名有:void int long float int* long* float* ……
C++中函数的调用:函数必须声明后才可以被调用。调用格式为:函数名(实参)
调用时函数名后的小括号中的实参必须和声明函数时的函数括号中的形参个数相同。
有返回值的函数可以进行计算,也可以做为右值进行赋值。
参考资料来源:百度百科-函数