我的以下代码有问题:

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。

10-08 08:00
查看更多