对不起,我是新来的stackoverflow,但我有一个问题,而编码。我创建了这个简单的 程序,但我注意到它在用if语句完成后仍然打印了else语句。该代码是用C++编写的,深表谢意。为什么else语句在if语句满足后仍在打印?
# 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!
它会一直告诉你,除非你按下F,否则你会吮吸。或者你期望别的东西吗? :) – jrok
这是因为'else'属于最后一个'if'。 – dasblinkenlight
啊谢谢!我自动假设if语句是针对所有if语句的,而不仅仅是最后一个语句。 :D我花了很多时间试图弄清楚这个网站在几秒钟内回复它! – user2403581