我希望用户输入一个介于2-8之间的范围内的高度(如果输入了其他任何数字,它应该会再次提示用户...我已经尝试过
int main(void)
{
int height;
do{
height = get_int("Enter The Height: ");
}
while (height<=1 && height<=9);
return height;
}
程序运行没有错误,但是即使我输入9也不会提示我。
您的逻辑不正确。应该是while (!(2 <= height && height <= 8))
。
例如,如果按照您原来的逻辑,height == 9
最终将是false && true
,即false
。
您要询问的高度超出所需范围时。因此,您想在高度小于最小值或大于最大值时再次询问。
do {
...
} while (height < 2 || height > 8);
[您在应使用&&
的位置使用了||
,在应有<=
的位置使用了>=
。