我的以下代码有问题:
int main(){
string name;
cout<<"Enter: ";
cin>>name;
if(name == "AHAH"||"AHAH"||"ADAD"||"ACAC"||"ASAS"||"AHAD"||"AHAC"||"AHAS"||"ADAH"||"ADAC"\
||"ADAS"||"ACAH"||"ACAD"||"ACAS"||"ASAH"||"ASAD"||"ASAC"){
cout<<"Call! Good hand!";
}
else if(name == "2H2H")
cout<<"Rase";
system("pause");
};
无论我输入什么程序输出:
Call! Good hand!
有什么问题?
最佳答案
您需要这样编写if语句:
if ( name == "AHAH" || name == "ABCD" || ...etc... )
{
cout << "Call, good hand!";
}
else if ( name == "2H2H" )
{
cout << "Rase";
}
当像您一样编写if语句时,将创建指向char的指针,并且由于char *不为NULL,因此其值非零,因此其值为True。