检查输入是否是C中的整数

时间:2017-05-30 12:52:37

标签: c debugging

我试图检查数字是否为整数(num)。

在main() -

int num, input;
    printf("Please enter an integer greater than 1:\n");
        input = scanf("%d",&num);
        if ( input != 1 ){
            printf("Invalid input!\n");
            return 1;
        } 

但是当输入不是整数(例如33.3)时,"输入"的值仍然是1。

printf("%d ", input);

让我回来了。

该计划的其余部分有效。只是陷入了这件小事。

1 个答案:

答案 0 :(得分:1)

您需要将输入读入char[],(因此,不需要scanf(),您可以执行gets()或类似的操作,然后检查值使用isdigit()逐个数字地自己。