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

2024-12-15 09:42:32
推荐回答(4个)
回答1:

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

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

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

回答2:

给你写一个简单的吧,不用结构体的。
#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<}

回答3:

#include
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;
}

回答4:

主函数中返回l1和angle1的值???
函数返回吧.