在 C 中提示用户输入整数 2> 和 >9

Prompting user for integer 2> and >9 in C

关于 C 的菜鸟问题...

我希望用户输入一个介于 2 和 9 之间的数字,如果他们不输入,则提示会重复出现,直到输入的整数在我的参数范围内。我可以让它与一个参数一起工作,即

  int between_2_and_8(string prompt)
{
    int n;
    do
    {
        n = get_int("%s", prompt);
    }
    while (n > 8);
    return n;
}

但没有运气放入 2 个参数。这是代码片段:

int between_2_and_8(string prompt)
{
    int n;
    do
    {
        n = get_int("%s", prompt);
    }
    while (n > 8);
    return n;

    while (n < 2);
    return n;

}

您可以添加两个条件来继续您的 do-while 循环。

修改您的代码如下:

int between_2_and_8(string prompt)
{
    int n;
    do
    {
        n = get_int("%s", prompt);
    }
    while (n < 3  || n > 8); // continue looping till either n is less than 3 or greater than 8
    return n;
}

编辑: 更正条件

您将永远不会进入条件检查 while(n < 2) 作为先前的条件检查或 return n 执行。 IE。它会在条件为真时 while (n > 8) 循环,或在条件失败时 return n 执行。所以它永远不会执行第二个条件检查 while (n < 2).

尝试在单个 while 循环中实现逻辑或,如下所示

int between_2_and_8(string prompt)
{
    int n;
    do
    {
        n = get_int("%s", prompt);
    }
    while (n < 3 || n > 8);// Loops around until n is either less than 2 or greater than 8
    return n;

}

编辑:对条件检查进行的更正