c++ - 为什么if语句满足后else语句还在打印?

标签 c++ if-statement

抱歉,我是 stackoverflow 的新手,但我在编码时遇到了问题。我创造了这个简单的 程序,但我注意到它在完成 if 语句后仍然打印 else 语句。代码是用 C++ 编写的,非常感谢您的帮助。

# include <iostream>
using namespace std;

int main()
{
    char check;
    bool done = false;
    while(not done)
    {
        cout<<"Please enter one of the options provided below."<<endl;
        cout<<"D = distance S = second F = first"<<endl;
        cin>>check;
        if(check == 'D')
        {
            cout<<"You pressed D"<<endl;
        }
        if(check == 'S')
        {
            cout<<"You pressed S"<<endl;
        }
        if(check == 'F')
        {
            cout<<"You pressed F"<<endl;
        }
        else
            cout<<"You suck!";
    }
    return 0;
}

例如,当我按下 D 时,我只想接收 You pressed D 作为输出。相反,我得到 You pressed D You suck!

最佳答案

我很确定你想要 else if(即嵌套)而不是(后续的)if,但这只是一个猜测,因为你没有提供输入或输出.

关于c++ - 为什么if语句满足后else语句还在打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660198/

相关文章:

c++ - 未初始化的读取错误

c++ - 如何在 Ubuntu 的共享库中列出导出的函数

c - C程序统计字数(不包括数字)

Java 从扫描仪输入中查找最小值总是导致零

if-statement - dart 替代很多 if else if

c++ - 如何在 C++ (g++) 中初始化类中的字符串

c++ - Linux 上写入共享内存时出现周期性延迟峰值

c++ - 计算在没有排列的情况下递归加起来的数字 N 的方法数

javascript - 运行 "if"的点击函数然后继续

javascript - jquery - 尽管条件不满足,为什么 if 子句会触发?