如果条件在turbo C ++上

时间:2014-02-09 06:43:06

标签: c++ turbo-c++

我在使用C ++中的if语句时遇到问题,这个语句是在do-while循环中。

gotoxy(27,22);cout<<"Do you want to continue [Y]?";
    sub=getche();
    if(sub!='y' || sub!='Y')
    {

        gotoxy(27,24);cout<<"INVALID ANSWER!!";
        gotoxy(27,26);cout<<"Closing Program....";
        delay(3000);
        exit(1);
    }else
    {
        sub=ans;
    }
}while(tolower(ans)=='y');

每当我在变量sub上输入y时if语句上的代码仍然在执行..请有人告诉我哪里出错...谢谢!

2 个答案:

答案 0 :(得分:2)

(sub!='y' || sub!='Y')的布尔表达式将始终评估为true

这一行:

if(sub!='y' || sub!='Y')

需要这样:

if ( (sub != 'y') && (sub != 'Y') )

答案 1 :(得分:0)

无论您输入什么内容,您的代码if(sub!='y' || sub!='Y')都将成立,因为sub!='y'sub!='Y'将评估为true。因此,请使用&&代替||