关于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;
}
答案 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;
}
编辑:条件检查中的更正