比较C中的double值

Azu*_*uan 4 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;
}
Run Code Online (Sandbox Code Playgroud)

reu*_*ben 7

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