c++怎样用一个函数返回两个参数

我看了很多人回答用结构体或引用。但我由于学了之后扔了1年左右,现在关于这些都忘得差不多了。所以能不能以结构体为例讲详细一点。比如说,设计一个函数,输入一个长度,一个角度,... 我看了很多人回答用结构体或引用。但我由于学了之后扔了1年左右,现在关于这些都忘得差不多了。所以能不能以结构体为例讲详细一点。
比如说,设计一个函数,输入一个长度,一个角度,需要返回一个长度和一个角度
我现在用了
struct jiegou
{
double l;
double angle;
};
double calcu(double a,double b,double l,double angle)
{
double l1,angle1;
......;
在这里需要在主函数中返回l1和angle1的值,需要怎么处理?
展开
 我来答
百度网友96ffcf7
2015-06-11 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118716
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部

c++中函数定义格式如下:

返回值类型  函数名([参数列表]) ;   //可以没有参数
如:
int str_len( char *s ) ; 
//int表示函数有一个整型的返回值, 
//s是参数,类型为char *, 
//str_len是函数名
一个函数只能有一个返回值,即:只能返回一个变量的信息(数值)。这既是规定,也是现实情况。
函数可以没有返回值,这时返回值类型需要写成void,如:
void prt_str( char *s ); //这个函数没有返回值,只是完成一定的函数功能。

上面说了,一个函数,只能返回一个变量的值,那需要返回多个变量的值,如何办呢?解决办法只有一个:通过指针形式的参数来完成变量的值的带回。如:

bb0022bb
2012-03-12 · TA获得超过339个赞
知道小有建树答主
回答量:147
采纳率:50%
帮助的人:98.3万
展开全部
给你写一个简单的吧,不用结构体的。
#include "iostream.h"

void calcu(int *a,int *b,int *l,int *angle)
{
//进行相应的操作
//比如...
*l += *a;
*angle += *b;
//不需要return,l、angle的值已经改变了,因为传递函数参数是指针类型
}

void main()
{
int a1=1,a2=2,a3=3,b1=4,b2=5,b3=6;
int l=2,angle=2;

calcu(&a1,&b1,&l,&angle);//l=2+1=3 angle=2+4=6
calcu(&a2,&b2,&l,&angle);//l=3+2=5 angle=6+5=11
calcu(&a3,&b3,&l,&angle);//l=5+3=8 angle=11+6=17

cout<<l<<" "<<angle<<endl;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
King920406
2012-03-12 · TA获得超过594个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:83.5万
展开全部
#include <iostream>
using namespace std;
struct jiegou
{
double l;
double angle;
};
double calcu(double a, double b, double l, double angle, struct jiegou& S)
{
double l1 = 0.5,
double angle1 = 0.8;

//由于形参是引用,因此对下列成员进行的修改等同对jiegou的成员修改。
S.l = l1;
S.angle = angle1;
return 0;
}
int main()
{
jiegou A;
//不知道LZ您的程序有何目的,这里我前三个实参取0,最后的实参是一个结构体的对象
calcu(0,0,0,0,A);
//测试:输出结果 0.5;
cout << A.l << endl;

return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ROM__yu
2012-03-11
知道答主
回答量:23
采纳率:0%
帮助的人:12.6万
展开全部
主函数中返回l1和angle1的值???
函数返回吧.
更多追问追答
追问
不是,这个calcu函数要在主函数中反复用4次,前一次的l1和angle1要作下一次的l和angle,想过循环,但是每一次的a和b又不一样
追答
可以用迭代.
返回两个参数就是引用,比如函数double calcu(double *a,double *b,double *l,double *angle).

不知道具体功能,没法帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式