c语言逻辑运算 if(a>b>c)错误 if(a>;b>;c)确实是错误的,原因在于:表达式a>;b>;c会依次从左到右进行计算,即相当于(a>;b)>;c 先计算a>;b,如果成立,会返回1,否则会返回0;之后再比较1>;c或者 0>;c这样就导致和你想要的结果不同例如:a=4,b=3,c=2 则a>;b返回1,1>;c返回0,a>;b>;c最终返回的是0,认为不成立a=4,b=3,c=0,则a>;b返回0,1>;c返回1,a>;b>;c最终返回的是1,认为成立因此要表达a>;b>;c这样的逻辑,正像你说的,应该使用 if(a>;b&b>;c)看下面例子程序的输出结果includeincludeint main(){int a=4,b=3,c=2,d=0;if(a>;b>;c)printf(\"a>;b>;c:Right\\n\");elseprintf(\"a>;b>;c:Wrong\\n\");if(a>;b>;d)printf(\"a>;b>;d:Right\\n\");elseprintf(\"a>;b>;d:Wrong\\n\");if(a>;b&b>;c)printf(\"a>;b>;c:Right\\n\");elseprintf(\"a>;b>;c:Wrong\\n\");return 0;}运行结果如下:a>;b>;c:Wronga>;b>;d:Righta>;b>;c:Right希望对你有帮助:)
java 位运算符和逻辑运算符,有什么区别,&和& 其实他们之间有一个很大的差别:短路举个例子来解释一下吧,false&true->;falsefalse&true->;false单从结果上看,他们结果是一样的,都是false但是前者在运行的时候,计算机首先判断第一个条件为false,然后判断第二个条件true,然后判断出结果为false而后者,首先也是判断第一个条件,当判断出为false时,程序立即终止,因为不管第二个条件是什么,结果一定为false这就是他们之间的区别希望我的回答能对你有所帮助
下列逻辑运算结果不正确的是( ).A.0+0=0 B.1+0=1 C.0+1=0 D.1+1=1 逻辑加法有“或”的意义.也就是说,在给定的逻辑变量中,A或B只要有一个为1,其逻辑加的结果为1;两者都为1则逻辑加为1.so,选C