
c++函数中return(a,b)可以返回两个值吗?
9个回答
展开全部
不可以,但是可以返回一个结构体
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用return语句只能返回一个值,你可以定义一个结构体,然后返回结构体也可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不需要这样的啊,使用引用或指针就行了啊,先声明这些你要改变的变量,然后在一个函数里面,通过引用或指针传到函数里面改变就行了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C系列语言是不能的,只能返回一个返回值。
但纠正一下三楼的说法,不是所有语言都是这样,比如matlab就可以返回多个。
如果在C++语言中需要返回多个值可以有以下三种方法:
1、返回一个数组的首地址,那么可以把整个数组的元素返回。
例如:
double* a;
a=f();
double* f()
{
b=(double*)malloc(8*2);
b[0]=1;
b[1]=2;
return b;
}
但是多次调用还要考虑释放内存问题
2、传入指针
例如:
double a[2];
f(a)
void f(double *a)
{
a[0]=1;
a[1]=2;
}
3、输入引用,可以返回不同类型变量
例如:
int a;
double b;
f(a,b)
void f(int &a,double &b)
{
a=1;
b=2;
}
但纠正一下三楼的说法,不是所有语言都是这样,比如matlab就可以返回多个。
如果在C++语言中需要返回多个值可以有以下三种方法:
1、返回一个数组的首地址,那么可以把整个数组的元素返回。
例如:
double* a;
a=f();
double* f()
{
b=(double*)malloc(8*2);
b[0]=1;
b[1]=2;
return b;
}
但是多次调用还要考虑释放内存问题
2、传入指针
例如:
double a[2];
f(a)
void f(double *a)
{
a[0]=1;
a[1]=2;
}
3、输入引用,可以返回不同类型变量
例如:
int a;
double b;
f(a,b)
void f(int &a,double &b)
{
a=1;
b=2;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询