C語言中 & 和 &&的區(qū)別詳解
這是c語言的基本語法,但是在學(xué)習(xí)的過程中也總是搞混。所以記錄一下,也和大家分享一下。
&:按照位與操作,例如:0010&1101,結(jié)果為0000
&是java中的位邏輯運(yùn)算:
eg: 2&3=2;
分析如下: 2的二進(jìn)制為10 ;3的二進(jìn)制為11 ; 邏輯&之后為10
&&:短路與,表示如果兩個(gè)條件都成立則執(zhí)行之后的邏輯;
例如:if(a==0&&b==0),意思就是if a為0并且b為0的時(shí)候,進(jìn)行下一步操作。
|| 短路或。 A||B,只有當(dāng)A為假的時(shí)候才會(huì)對(duì)B進(jìn)行判斷。若A為真,則不繼續(xù)對(duì)B進(jìn)行判斷。
| 邏輯或。 A|B,會(huì)對(duì)A, B都進(jìn)行判斷
! 邏輯非,當(dāng)操作數(shù)為true時(shí),返回false,否則返回true。
& 的使用 方法
是把 兩個(gè)變量 a和b 進(jìn)行 每個(gè)位進(jìn)行與操作
#include <stdio.h> int main() { // www.lzjuzi.com 勵(lì)志句子網(wǎng)站為您提供代碼 int a = 0x100; int b = 0x001; printf("%02x\n", a & b); return 0; }
輸出結(jié)果:00
&& 的使用 方法
#include <stdio.h> int main() { // www.lzjuzi.com 勵(lì)志句子網(wǎng)站為您提供代碼 int a = 0x100; int b = 0x001; if(a == 0x100 && b == 0x001) { printf("條件成立\n"); } else { printf("不符合條件\n"); } return 0; }
輸出結(jié)果:條件成立
到此這篇關(guān)于C語言中 & 和 &&的區(qū)別詳解的文章就介紹到這了,更多相關(guān)C語言 & 和 &&內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++基于boost asio實(shí)現(xiàn)sync tcp server通信流程詳解
這篇文章主要介紹了C++基于boost asio實(shí)現(xiàn)sync tcp server通信的流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07