回 帖 发 新 帖 刷新版面

主题:如何让scanf()函数只输入数字?

[color=0000FF][size=4]我的意思是用scanf函数提示用户输入,如果用户输入的数不符合规定,则重新提醒用户输入,直到输入的数符合规定为止。(例如不断提醒用户输入一个整数,直到输入一个整数后才执行后面的语句),能做到吗??[/size][/color]

回复列表 (共2个回复)

沙发

可不可以用%c然后判断,如果不是整数则继续;最后将读入的转成int类型呢?

板凳


#include <stdio.h>

int main(void)
{
        int a;

        while (scanf("%d", &a) != 1) {
                printf("Input errror,try again:");
                for (int ch; (ch = getchar())!='\n' && ch != EOF;)
                        continue;
        }
        printf("%d\n", a);
        return 0;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册