我希望用户输入的高度在2-8范围内,如果输入任何其他数字,它应该重新提示用户...我试过了
int main(void)
{
int height;
do{
height = get_int("Enter The Height: ");
}
while (height<=1 && height<=9);
return height;
}程序运行时没有错误,但即使我输入9,它也不会重新提示我。
发布于 2020-04-27 01:24:45
你的逻辑是错误的。应该是while (!(2 <= height && height <= 8))。
例如,在您的原始逻辑中为height == 9时,它最终为false && true,即false。
发布于 2020-04-27 01:26:40
只要高度超出了所需的范围,您就需要再次询问。所以只要高度小于最小值或大于最大值,你就想再问一次。
do {
...
} while (height < 2 || height > 8);您在本应使用||的地方使用&&,在本应使用>=的地方使用<=。
https://stackoverflow.com/questions/61444997
复制相似问题