即使使用 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);
最佳答案
x 和 y 永远不会是数字,因为数字范围从 0x30 到 0x39(在 ascii 编码的情况下)。您正在使用 %d 修饰符读取它们,请改用 %c 修饰符。
关于c - 如何检查它是否是数字并在不是数字时重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47275133/