下面的代码即使使用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/