提示用户输入整数2>;及>;9英寸C

提示用户输入整数2>;及>;9英寸C,c,parameters,integer,prompt,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; } 但是没有运气把两个参数放进去。以下是片段: int between_2_and

关于C的菜鸟问题

我希望用户输入一个介于2和9之间的数字,如果他们不输入,则提示会自动重复,直到输入参数中的整数。我可以用一个参数,即

  int between_2_and_8(string prompt)
{
    int n;
    do
    {
        n = get_int("%s", prompt);
    }
    while (n > 8);
    return n;
}
但是没有运气把两个参数放进去。以下是片段:

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_和_8之间的
int(字符串提示)
{
int n;
做
{
n=获取整数(“%s”,提示符);
}
而(n>8);
返回n;
n<2;
返回n;
}

您可以添加两个条件以继续执行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;
}
_2_和_8之间的
int(字符串提示)
{
int n;
做
{
n=获取整数(“%s”,提示符);
}
while(n<3 | | n>8);//继续循环,直到n小于3或大于8
返回n;
}
编辑:
已纠正的条件

当(n<2)执行之前的条件检查或返回n时,您将永远不会进入条件检查
。即,当条件为真时,它在(n>8)
时循环
,或当条件失败时执行
返回n
。因此,当(n<2)
时,它将永远不会执行第二个条件检查

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

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;

}
_2_和_8之间的
int(字符串提示)
{
int n;
做
{
n=获取整数(“%s”,提示符);
}
while(n<3 | | n>8);//循环直到n小于2或大于8
返回n;
}

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

尝试
while(n>8)-->
while(n>8 | n<2)while(n>8&&n<2)。基本C语法。@GenoChen
(n>8&&n<2)
从来都不是真的。@chux哦,是的,我失败了。大于2小于9的数字的反义词是:
n=9
。或者
n8
。或者,如果要包含2和9,那么
n9
。大于2小于9的数字的相反是:
n=9
。或者
n8
。或者,如果要包含2和9,则
n9