[英]if condition on 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語句上的代碼仍在執行..請有人告訴我哪里出錯...謝謝!
(sub!='y' || sub!='Y')
的布爾表達式將始終求值為true
這一行:
if(sub!='y' || sub!='Y')
需要這樣:
if ( (sub != 'y') && (sub != 'Y') )
你的代碼if(sub!='y' || sub!='Y')
將是真的,無論你輸入什么,因為sub!='y'
或sub!='Y'
將評估為true。 因此使用&&
而不是||
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.