在C語言中,&有三種作用,分別如下: 1. 取地址。單目運算子。用來取一個變數的地址。 比如 int i, *p; p = &i;//這裡的&作用是取變數i的地址。 2. 位操作中的與操作運算子。 也就是常說的and操作,雙目運算子。 計算的時候按位計算,&兩邊運算元對應位上全為1時,結果的該位值為1。否則該位值為0 比如 0x12&0x23 轉為二進位制為: B00010010&B00100011, 按位計算結果為B00000010, 即結果為0x02。 3. 當兩個&&一起用的時候,表示為邏輯運算中的與運算。 邏輯運算結果只有0和1兩種結果。 一般在&&兩邊是兩個邏輯表示式。 當兩個表示式值均為1時,&&運算結果為1,否則為0。 比如 2>1 && 0<1 這個的值為1&&1 = 1。 1>2 && 2>0 這個值為0&&1 = 0。 1>2 && 2>3 這個值為0&&0=0。
在C語言中,&有三種作用,分別如下: 1. 取地址。單目運算子。用來取一個變數的地址。 比如 int i, *p; p = &i;//這裡的&作用是取變數i的地址。 2. 位操作中的與操作運算子。 也就是常說的and操作,雙目運算子。 計算的時候按位計算,&兩邊運算元對應位上全為1時,結果的該位值為1。否則該位值為0 比如 0x12&0x23 轉為二進位制為: B00010010&B00100011, 按位計算結果為B00000010, 即結果為0x02。 3. 當兩個&&一起用的時候,表示為邏輯運算中的與運算。 邏輯運算結果只有0和1兩種結果。 一般在&&兩邊是兩個邏輯表示式。 當兩個表示式值均為1時,&&運算結果為1,否則為0。 比如 2>1 && 0<1 這個的值為1&&1 = 1。 1>2 && 2>0 這個值為0&&1 = 0。 1>2 && 2>3 這個值為0&&0=0。