int main (void)
{
char n;
label0:
cout<<"Please enter a character value(C/S)\n";
cin>>n;
n = toupper(n);
if (n!= 'C' || n!= 'S')
{
cout<<"Please enter proper value\n";
cin.clear();
cin.ignore();
goto label0;
}
else
{
cout<<"You entered"<<n<<"\n";
}
return 0;
}
在此代碼中,即使輸入c C s S
,也會輸出與請輸入正確值相同的輸出。爲什麼不比較?爲什麼它會爲每個值提供相同的輸出?
這裏不需要'goto' ...當它不使代碼更簡單時避免'goto'是IMO的好習慣。 – GingerPlusPlus 2014-08-31 14:07:19