首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与字母表字符有关的While循环

与字母表字符有关的While循环
EN

Stack Overflow用户
提问于 2014-12-22 20:26:57
回答 1查看 1.2K关注 0票数 0

我目前正试图理解为什么在我的代码中会出现这个问题,我不知道如何解决这个问题。

代码语言:javascript
运行
复制
int main()
{
    char answer;
    std::cin >> answer; // valid input is a, b, c or d
    while(answer > 'd') // doesn't enter no matter what letter I input
    {
        retry(); // function call to print something long..
        std::cin >> answer;
    }
    //rest of code not shown since everything is fine after this problem;
}

这个程序的目标是让用户输入字母a,b,c或d,然后触发一个“开关”函数。所以我想我可以有一个while循环,如果用户输入一个不允许的字母,它就会一直要求用户输入一个有效的字母。然而,它似乎不起作用吗?

问题:当输入大于'd‘的字母时,我希望when循环激活,但是无论输入什么字母,循环都不会发生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-22 20:45:32

有关流IO的一些常见错误是:

  1. eof测试
  2. 在提取后忽略流的状态。
  3. 类似于(2),检查结果(可能不是 更改)

你在2和3方面失败了。

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

https://stackoverflow.com/questions/27609925

复制
相关文章

相似问题

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