4

为什么即使输入值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;
}
4

1 回答 1

7

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

于 2012-07-09T05:55:15.277 回答