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