检查数字输入并询问直到输入数字

时间:2018-10-21 16:13:27

标签: c

我想检查用户输入是否为数字,并且我希望程序仅接受数字作为输入。我不知道我是否清楚地解释了自己,我将通过向您展示一个示例来尝试:

int x;
printf("Write a number: ");
scanf("%d", &x);
while(!isdigit(x))
{
    printf("Not valid\n");
    fflush(stdin);
    scanf("%d", &x);
}

我尝试使用scanf("%d", &x) != 1作为while条件,但它仍然在循环内。在用户输入数字之前,是否有办法要求输入?现在,我只是返回该函数,但我不想这样做。

1 个答案:

答案 0 :(得分:0)

您必须检查(let () (define (loop (x y) (loop (+ x 1) (- y 1))) (loop 1 10)) 的返回值:

scanf()