C语言中 & 和 &&的区别详解

来自:互联网
时间:2021-01-29
阅读:

这是c语言的基本语法,但是在学习的过程中也总是搞混。所以记录一下,也和大家分享一下。

&:按照位与操作,例如:0010&1101,结果为0000

      &是java中的位逻辑运算:
      eg: 2&3=2;

      分析如下: 2的二进制为10 ;3的二进制为11 ; 逻辑&之后为10

&&:短路与,表示如果两个条件都成立则执行之后的逻辑;

        例如:if(a==0&&b==0),意思就是if a为0并且b为0的时候,进行下一步操作。

|| 短路或。 A||B,只有当A为假的时候才会对B进行判断。若A为真,则不继续对B进行判断。
| 逻辑或。 A|B,会对A, B都进行判断
! 逻辑非,当操作数为true时,返回false,否则返回true。

& 的使用 方法

是把 两个变量 a和b 进行 每个位进行与操作

#include <stdio.h>

int main()
{
  // www.lzjuzi.com 励志句子网站为您提供代码
  int a = 0x100;
  int b = 0x001;
  printf("%02x\n", a & b);
  
  return 0;
}

输出结果:00

&& 的使用 方法

#include <stdio.h>

int main()
{
  // www.lzjuzi.com 励志句子网站为您提供代码
  int a = 0x100;
  int b = 0x001;
  if(a == 0x100 && b == 0x001)
  {
  printf("条件成立\n");
  }
  else
  {
    printf("不符合条件\n");
  }
  
  return 0;
}

输出结果:条件成立

返回顶部
顶部