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ます。値を として読み込む場合は、double代わりに"%lf"scanf 形式指定子として使用する必要があります。

于 2012-07-09T05:55:15.277 に答える