抱歉,我是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!
答案 0 :(得分:8)
我很确定你想要else if
(即嵌套)而不是(后续)if
,但这只是猜测,因为你没有提供任何输入或输出。
答案 1 :(得分:4)
我认为发布确切的代码并不经常是最好的教育方式,但在这种情况下,我认为差异会突然出现在你身上:
if(check == 'D')
{
cout<<"You pressed D"<<endl;
}
else if(check == 'S')
{
cout<<"You pressed S"<<endl;
}
else if(check == 'F')
{
cout<<"You pressed F"<<endl;
}
else
cout<<"You suck!";
确保您了解if
,else if
和else
之间的区别。
此外,这是使用switch
语句的标准情况。