C语言如何返回子函数的多个参数
1 第一种方法
// 如何某个子函数待返回的两个参数
#include<stdio.h>
// 某个子函数待返回的两个参数
int theta0=45;
int fine0=180;
main()
{
int angle=0;
angle=theta0*1000+fine0;
printf("theta0 is %d \n\r" , angle/1000);
printf("fine0 is %d \n\r" , angle%1000);
}
结果
2 第二种方法(采用结构体)
/* 函数功能:
如何返回子函数的多个参数
*/
#include<stdio.h>
// 定义一个结构体,用来返回子函数的多个参数
typedef struct//结构体
{
double theta;
double fine;
}angle_struct;// 声明了一个结构体 angle_struct
//变量声明
angle_struct angle;
/*---------子函数声明--------*/
angle_struct func();
/*---------主函数--------*/
int main()
{
double theta_est,fine_est;
angle=func();
theta_est=angle.theta;// 得到第1个返回值
fine_est =angle.fine; // 得到第2个返回值
printf("theta0 is %.3f \n\r" , theta_est);
printf("fine0 is %.3f \n\r" , fine_est);
return 0;
}
/*---------子函数--------*/
angle_struct func()
{
double theta0=45;//待返回的子函数结果
double fine0=180;
angle.theta=theta0;
angle.fine = fine0;
return angle;
}
结果: