我对Native C语言是个新手,但我没有看到错误。
在这种情况下,我尝试使用if操作:
#define PAGE_A 0
#define PAGE_B 1
int pageID = 0;
if (pageID != PAGE_A || pageID != PAGE_B) {
//Do something
}但是它不起作用。如果页面ID =0或1,则转到“做点什么”。如果我只写:
if (pageID != PAGE_A) {
//Do something
}它起作用了。如果pageID = 1-x,它就会去“做某事”,否则它就不会…
发布于 2019-12-04 20:47:08
如果任一操作数为真,则逻辑OR运算符||的计算结果为true。
如果pageID为0,则第一个条件为false,但第二个条件为true,因此整个表达式的计算结果为true。类似地,如果pageID为1,则第一个条件为真,但第二个条件为假,因此整个表达式的计算结果为真。如果pageID是任何其他值,但条件为真,则整个表达式为真。
相反,您需要的是逻辑AND运算符&&,只有当两个操作数的值都为true时,它才为true。
if (pageID != PAGE_A && pageID != PAGE_B) {读出来,如果两个pageID都不是0并且pageID不是1,则条件为真。
https://stackoverflow.com/questions/59176317
复制相似问题