c++中函数定义格式如下:
返回值类型 函数名([参数列表]) ; //可以没有参数
如:
int str_len( char *s ) ;
//int表示函数有一个整型的返回值,
//s是参数,类型为char *,
//str_len是函数名
一个函数只能有一个返回值,即:只能返回一个变量的信息(数值)。这既是规定,也是现实情况。
函数可以没有返回值,这时返回值类型需要写成void,如:
void prt_str( char *s ); //这个函数没有返回值,只是完成一定的函数功能。
上面说了,一个函数,只能返回一个变量的值,那需要返回多个变量的值,如何办呢?解决办法只有一个:通过指针形式的参数来完成变量的值的带回。如:
给你写一个简单的吧,不用结构体的。
#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<
#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;
}
主函数中返回l1和angle1的值???
函数返回吧.