比较C中的double值

时间:2012-07-09 05:52:34

标签: c visual-studio-6

为什么即使输入值999999,它总是会转到else语句?有人可以解释为什么以及这样做的正确方法是什么?

#include <stdio.h>

int main(int argc, char **args)
{
    double dValue = 0;

    scanf("%d",&dValue);

    if(10000 < dValue){
            printf("More than");
    } else {
        printf("Less than");
    }

    return 0;
}

1 个答案:

答案 0 :(得分:7)

如果您打算将值读作整数(使用"%d"),那么您应该将其声明为int。如果您打算将该值读作double,那么您应该使用"%lf"作为您的scanf格式说明符。