陌雨 发表于 2016-1-13 19:35:13

如何比较两个double型数值的大小?

本帖最后由 陌雨 于 2016-1-13 19:36 编辑

如题!!!
今天写了一个代码 有人告诉我说double不能像我这样比较大小 如下:

/*设计函数min(x,y),返回两个double数值中小的一个,
*/
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<windows.h>
double ming(double *x,double *y);
int main(void)
{
        double a,b,c;
        scanf("%d %d",&a,&b);
    c=ming(&a,&b);
        printf("两个数中较小值是%f\n",c);
   system("pause");
        return 0;

}
double ming(double *x,double *y)
{
        double c;
   c=*x>*y?*y:*x;
return c;
}

那如何正确比较double型数值的大小呢?

人造人 发表于 2016-1-13 20:27:15

double ming(double *x,double *y)
又不是交换数据,干嘛要传地址?

SXTDU 发表于 2016-1-13 21:11:55

可以比较差值<1e-6这样

小甲鱼 发表于 2016-1-14 02:07:18

可以比较大小,但无法比较是否等值,如果要比较是否等值,需要设置一个精度范围。
页: [1]
查看完整版本: 如何比较两个double型数值的大小?