首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提示用户在C中输入整数2>和>9

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

Stack Overflow用户
提问于 2019-01-17 03:32:03
回答 2查看 77关注 0票数 0

关于C的新秀问题。

我希望用户输入一个介于2到9之间的数字,如果没有,提示符会自动重复,直到输入参数中的整数为止。我可以用一个参数(

代码语言:javascript
复制
  int between_2_and_8(string prompt)
{
    int n;
    do
    {
        n = get_int("%s", prompt);
    }
    while (n > 8);
    return n;
}

但运气不好,放了两个参数。下面是片段:

代码语言:javascript
复制
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;

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-17 04:26:32

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

修改代码如下:

代码语言:javascript
复制
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;
}

编辑:修正条件

票数 0
EN

Stack Overflow用户

发布于 2019-01-17 04:58:30

在执行前一项条件检查或执行while(n < 2)时,您永远不会输入条件检查return n。即。当条件为真时,它会在while (n > 8)周围循环,或者在条件失败时执行return n。因此,它将永远不会执行第二个条件检查while (n < 2)

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

代码语言:javascript
复制
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;

}

编辑:对状态检查所做的修正

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54228619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档