版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。<br>版权<br><img>opencv专栏收录该内容<br>35 篇文章2 订阅<br>订阅专栏<br>c语言中&与&&的区别<br>&:按照位与操作,例如:0010&1101,结果为0000<br>&是java中的位逻辑运算:<br>eg: 2&3=2;<br>分析如下: 2的二进制为10 ;3的二进制为11 ; 逻辑&之后为10<br>&&:短路与,表示如果两个条件都成立则执行之后的逻辑;<br>例如:if(a==0&&b==0),意思就是if a为0并且b为0的时候,进行下一步操作。<br>|| 短路或。 A||B,只有当A为假的时候才会对B进行判断。若A为真,则不继续对B进行判断。<br>| 逻辑或。 A|B,会对A, B都进行判断<br>! 逻辑非,当操作数为true时,返回false,否则返回true。<br><img><br><img><br><img><br><img><br><img><br><img><br><img><br><img><br>收藏<br><img><br>一键三连<br><img><br>扫一扫,分享海报<br>专栏目录<br><img><br><img><br><img><br><img><br><img><br>&amp;:按位与 &amp;&amp;:逻辑与 这两个很多人用起来感觉都没什么区别,都能达到自己想要的效果,但这两者还是有区别的,而且区别很大,不废话了,看例子: 这两个程序的唯一差别就是 &amp; 和&amp;&amp; ,但是最后输出的b的值却不一样,为什么呢。 我们先看 &amp; :b输出的值为3,说明这个程序运行到了&amp;右边括号里的b++...<br><img><br>&&:逻辑与,前后条件同时满足表达式为真 ||:逻辑或,前后条件只要有一个满足表达式为真 &:按位与 |:按位或 &&和||是逻辑运算,&与|是位运算 假如a = 0xaa ,b = 0x55 a&&b = true ,在计算机中true以非0值表示,不同的编译器true值也不一样,一般为1 a||b = true, a&b = 0; 值唯一 a|b = 0xff; 值唯一 “&&”跟“|”<br><img><br><img><br>07-28<br><img>1万+<br>&& 左右两边表达式同时为真才为真,||左右两边表达式一个为真就为真 #includeint main(int argc,char*argv[]){&#9; int a=0;&#9; int b=10;&#9; if(a==0 && b==10){&#9;&#9; printf("这是&&的用法,两个真为真\n");&#9; }&#9; return 0; } 运行结果如图 #includeint main(int argc,ch<br><img><br>c语言中&&与bai&区别为:性质不同du、判断依zhi据不同、结果dao类型不同。 一、性质不同 1、&&:&&是逻版辑操作符,表示权为“逻辑与”。 2、&:&是按位操作符,表示为“按位与”。 二、判断依据不同 1、&&:&&的判断依据是x和y均为true,取值是true,否则取值是false。 2、&:&的判断依据是将x和y两个数转为二进制进行逐位相与,同位都为1为1,否则<br><img><br>