C或C++中一个函数能不能返回多个值?

 我来答
lzy9668
推荐于2017-11-28 · TA获得超过1319个赞
知道小有建树答主
回答量:485
采纳率:100%
帮助的人:0
展开全部
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;
}
春天的河水C6
2008-04-03 · TA获得超过646个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:157万
展开全部
可以返回数组类型,在数组总存放多个值。
优点:可以达到楼主希望的效果,能从数组中获得多个值;
缺点:虽然能从数组中获得多个值,但这些值必须要与数组一样是同一种数据类型,并不能返回不同数据类型值(这是因为数组的约束)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
覃松涛
2008-04-03 · TA获得超过641个赞
知道小有建树答主
回答量:462
采纳率:0%
帮助的人:346万
展开全部
能!!!
上面的哥们学过没没学别乱说
比如你申请一个函数 function(int a,int b,int c){…………}

这样的函数最后就能返回三个!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敲響鍵盤
2008-04-03 · TA获得超过463个赞
知道小有建树答主
回答量:615
采纳率:0%
帮助的人:290万
展开全部
所有函数只能返回一个值,但是却可以返回一个地址所以有需要的话可以用数组作为参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
spotatoes
2008-04-03 · TA获得超过3910个赞
知道小有建树答主
回答量:2363
采纳率:0%
帮助的人:742万
展开全部
用引用可以间接的返回多个,因为可以改变值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式