作业帮 > 综合 > 作业

在C语言中,如果一个函数返回两个数,return 语句中要怎么表示?是用数组吗

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 18:20:11
在C语言中,如果一个函数返回两个数,return 语句中要怎么表示?是用数组吗
我如果把下面这个程序定义成一个函数,他有两个返回值,而卧的return 中只有一个返回值m,在函数调用时应该怎么定义?
#include 两个数的比较
main()
{ \x09int f1,f2,e1,e2; //误差计算函数,若整数部分和小数点前两位均相等,则判为两数相等
\x09double e,f,m,n;
\x09printf("please input two numbers:");
scanf("%lf%lf",&e,&f);
\x09e2=((int)(e*100))%10;
\x09e1=((int)(e*10))/10;
\x09f2=((int)(f*100))%10;
\x09f1=((int)(f*10))/10;
if((e1==f1)&&(e2==f2))
\x09\x09 { m=((int)(e*100))*0.01;
\x09\x09 n=((int)(f*100))*0.01;
\x09 printf("m=%.2lf,n=%.2lf",m,n);}
else if ((e1!=f1)&&(e2!=f2))
m=0,n=0;
return m;
}
比如把这个函数定义为 double function(double x,double y,double x),如果是一个返回值,我们可以定义一个变量s,s=function(a,b,c)进行调用,现在是两个,左边的s应该怎么表示呢?
定义成结构体
struct retval
{
double ret1;
double ret2;
};
返回值类型就写成 struct retval
返回之前给结构成员赋值
还有种方法,通过参数返回