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

时间:2019-01-17 03:32:03

标签: c parameters integer prompt

关于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;

}

2 个答案:

答案 0 :(得分:0)

您可以添加两个条件以继续执行在做循环。

如下修改您的代码:

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;
}

编辑: 更正的条件

答案 1 :(得分:-1)

在执行先前的条件检查或执行while(n < 2)时,您将永远不会输入条件检查return n。即。当条件为真时,它会在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;

}

编辑:条件检查中的更正