對不起,我是新來的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