C語言中 & 和 &&的區別詳解

這是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;
}

輸出結果:條件成立

到此這篇關於C語言中 & 和 &&的區別詳解的文章就介紹到這瞭,更多相關C語言 & 和 &&內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: