- 论坛徽章:
- 0
|
我有函数,是返回double类型的
我的意思是要通过函数返回double变量,是不是用指针带出来较好,而不是用函数返回值的方式!!!
一下函数功能是返回指定小数点后面保留几位,还要四舍五入
double indata 为要被转换的数据
int len 为小数点后保留几位
比如:100.881 精确2位为 100.88
100.885 100.89
//我想给变量a赋值
方法一:
double dround(double indata,int len)
{
double oo;
...........
//经过转换后的保留精确位的临时变量 oo
return oo;
}
int main()
{
double a,b;
........
a=dround(b,2);
printf("a=[%lf]\n",a); //这里a结果是个没有初始化的值
printf("[%lf]\n",dround(b,2)); //这里结果却是对的
return 0;
}
以上这种写法是否欠妥啊,是不是要改成以下写法较好。
方法二:
double dround(double indata,int len,double *outdata)
{
double oo;
...........
//经过转换后的保留精确位的临时变量 oo
*outdata=oo ;
return oo;
}
int main()
{
double a,b;
........
dround(b,2,&a);
printf("a=[%lf]\n",a);
return 0;
}
[ 本帖最后由 jsrdcy 于 2007-5-8 23:44 编辑 ] |
|