楼下真牛逼,恐怕是怪兽大学毕业的吧。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站制作、建水网络推广、小程序设计、建水网络营销、建水企业策划、建水品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供建水建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
推荐做法
把函数声明写成这样int func(int* ret1,int* ret2)
这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子。
方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活。最后,警告一下不要用 return a,b之类的语句。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;
方法一:设置全局变量,这样在形参中改变全局变量,在实参中也会有效。所以可以在形参中改变多个全局变量的值,那么在实参中就相当于返回多个值。
方法二:如果用数组名作为形参,那么改变数组内容,比如排序,或者进行加减运算,回到实参时依然是有效的。这样也会返回一组值。
方法三:可以利用指针变量,这个原理和方法二是一样的,因为数组名本身就是数组首元素的地址。就不多说了。 用结构体封装不同类型数据,或者用数组表示同类型数据,然后返回结构体指针或者数组名,本质都是用指针来返回多个参数
方法四:如果学过C++,可以引用参数
首先比喻下函数是什么吧?
函数简单的说就是一个黑箱子似的制造机器,你给他原料(输入参数)它给你制造出产品(函数返回的结果)。
所以函数的返回值一般就是你想要的结果。当然有些函数没有返回值,比如输出一句话的函数,这函数就没有返回值。c++用void型表示。但是求两个数的最大值函数int
max(int
a,
int
b)的返回值就可以是你求的最大的值。
int
max(int
a,
intb)
{
if(ab)
{
return
a;
}
else
{
return
b;
}
}
其中return返回的值就是函数的返回值。
函数是不能直接返回两个值的,不过可以通过数组,列表,链表等方式,返回多个值。
例如 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++中函数的调用:函数必须声明后才可以被调用。调用格式为:函数名(实参)
调用时函数名后的小括号中的实参必须和声明函数时的函数括号中的形参个数相同。
有返回值的函数可以进行计算,也可以做为右值进行赋值。
参考资料来源:百度百科-函数
在C#中让一个函数返回多个值有两种方法可以实现:
第一种是使用指针变量声明函数(或者使用数组变量)第二种是使用传出参数
第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面。这个方法我不太会用,传地址传值我常常搞的淅沥糊涂。
第二种方法:我用例子说明。
首先声名一个函数,定义如下
public bool CheckName(string UserName, out string PassWord, Out int State)
{
if ( UserName == "890" )
{
PassWord = "232"; State = 0;
}
else
{
PassWord = ""; State = 1;
}
return false;
}
应用方法如下:
string PassWord = "";
int State = 0;
string UserName = "abc";
bool falg = CheckName(UserName,out PassWord, out State);
这个就可以得到函数CheckUser返回的三个值falg 、PassWord、State在使用out型参数的时候必须事先声明,否则无法使用,可以看作输出参数的初始化。