如何在c中设置do / while范围?

问题描述 投票:0回答:1

我希望用户输入一个介于2-8之间的范围内的高度(如果输入了其他任何数字,它应该会再次提示用户...我已经尝试过

int main(void)
{
    int height;
    do{
        height = get_int("Enter The Height: ");
    }
    while (height<=1 && height<=9);
    return height;
}

程序运行没有错误,但是即使我输入9也不会提示我。

c do-while
1个回答
1
投票

您的逻辑不正确。应该是while (!(2 <= height && height <= 8))

例如,如果按照您原来的逻辑,height == 9最终将是false && true,即false


0
投票

您要询问的高度超出所需范围时。因此,您想在高度小于最小值或大于最大值时再次询问。

do {
   ...
} while (height < 2 || height > 8);

[您在应使用&&的位置使用了||,在应有<=的位置使用了>=

© www.soinside.com 2019 - 2024. All rights reserved.