首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >或if操作中的操作

或if操作中的操作
EN

Stack Overflow用户
提问于 2019-12-04 20:42:47
回答 1查看 52关注 0票数 0

我对Native C语言是个新手,但我没有看到错误。

在这种情况下,我尝试使用if操作:

代码语言:javascript
复制
#define PAGE_A 0 
#define PAGE_B 1

int pageID = 0;


if (pageID != PAGE_A || pageID != PAGE_B) {

    //Do something
}

但是它不起作用。如果页面ID =0或1,则转到“做点什么”。如果我只写:

代码语言:javascript
复制
if (pageID != PAGE_A) {

    //Do something
}

它起作用了。如果pageID = 1-x,它就会去“做某事”,否则它就不会…

EN

回答 1

Stack Overflow用户

发布于 2019-12-04 20:47:08

如果任一操作数为真,则逻辑OR运算符||的计算结果为true。

如果pageID为0,则第一个条件为false,但第二个条件为true,因此整个表达式的计算结果为true。类似地,如果pageID为1,则第一个条件为真,但第二个条件为假,因此整个表达式的计算结果为真。如果pageID是任何其他值,但条件为真,则整个表达式为真。

相反,您需要的是逻辑AND运算符&&,只有当两个操作数的值都为true时,它才为true。

代码语言:javascript
复制
if (pageID != PAGE_A && pageID != PAGE_B) {

读出来,如果两个pageID都不是0并且pageID不是1,则条件为真。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59176317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档