本文介绍了或不等于的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这为什么起作用?
#include <iostream> #include <string> using namespace std; int main(){ string s="a"; if((s=="cm")||(s=="in")||(s=="ft")||(s=="m")) cout<<s+" Is an illegal value"; else cout<<"I like "+s; return 0; }ideone/7pnYh
但是那不是
#include <iostream> #include <string> using namespace std; int main(){ string s="a"; if((s!="cm")||(s!="in")||(s!="ft")||(s!="m")) cout<<s+" Is an illegal value"; else cout<<"I like "+s; return 0; }ideone/TXUXA 我想要的答案都是我喜欢".
ideone/TXUXA The answer i want for both is "I like a" .
推荐答案在第二种情况下, s!="cm" ,当然还有第一个 cout .要取消检查并保持逻辑不变,请执行以下操作:
In your second case s != "cm" and of course the first cout is printed. To negate the check and the logic to remain the same, do it like this:
if((s!="cm")&&(s!="in")&&(s!="ft")&&(s!="m")) cout<<"I like "+s; else cout<<s+" Is an illegal value";更多推荐
或不等于
发布评论