如何检查它是否为数字,并在不是时重复

时间:2017-11-13 23:17:22

标签: c

下面的代码只是使用break;无限循环。我试图这样做,如果用户键入的内容不是一个号码,它会再次询问。

int x,y;
while(1)
{
    printf("x: ");
    scanf("%d",&x);
    printf("y: ");
    scanf("%d",&y);
    if(isdigit(x)&&isdigit(y))
    {
        break;
    }
}
printf("X: %d Y: %d",x,y);

1 个答案:

答案 0 :(得分:2)

x和y永远不会是数字,因为数字范围从0x30到0x39(在ascii编码的情况下)。您正在使用%d修饰符读取它们,而是使用%c修饰符。