请问这个C语言if判断的结果为什么会是true

#include <stdio.h>
#include <string.h>

int main(void){
int i=1;
if(i!=1||i!=2||i!=3||i!=4){
fprintf(stderr,"匹配错误\n");
}else{
fprintf(stderr,"匹配正确\n");
}
}

if( i != 1 || i != 2 || i != 3 || i != 4)
因为i的初值为1,虽然i != 1为false,但后面的i != 2为ture,这个||运算后整个表达式的值就为true啊追问

哦,逻辑或判断是只要有一个表达式为true那就判断为true吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-07
因为i的值是1,所以i!=2为真,i!=3也为真,i!=4还是真
逻辑或||只要有一个表达式的结果为真,则整个表达式的结果为真
所以if语句的条件为真!!!
第2个回答  2017-03-07
“||” 是或者(OR)的意思 ,满足这些条件其中之一,就是true;
i=1;1满足 1!=2,所以就是true了啊。
假如想写 与(AND) 请用 “&&” 代替 “||”

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网