C ++简单字符检查

时间:2013-02-03 03:42:03

标签: c++ .net visual-studio visual-c++ char

无论输入是否正确,下面的代码都不起作用。如果输入正确,则if语句仍然由于某种原因而执行。任何快速建议都会有所帮助。

char status;

cout<<"Please enter the customer's status: ";
cin>>status;

if(status != 'P' || 'R')
{

    cout<<"\n\nThe customer status code you input does not match one of the choices.\nThe calculations that follow are based on the applicant being a Regular customer."<<endl;

    status='R';
}

2 个答案:

答案 0 :(得分:3)

这是if(status != 'P' || status != 'R')

即便如此,逻辑也有点不对劲。你不能像那样(或任何逻辑运算符)链接逻辑OR,你应该使用像if(status != 'P' && status != 'R')这样的其他东西

答案 1 :(得分:2)

if ('R')

始终求值为true,因此if(status != 'P' || 'R')始终求值为true。

变化

if(status != 'P' || 'R')

if(status != 'P' && status != 'R')

OR

if(status == 'P' || status == 'R')

最后一个版本可能会让您更清楚地了解您想要的内容?