2 回答

TA貢獻1810條經(jīng)驗 獲得超4個贊
&是按位與運算符(或取地址運算符),&&是條件與運算符(也叫邏輯與運算符)。
進行與運算時,二者的不同之處在于:
&可以對兩個整型數(shù)據(jù),按照二進制位,逐位進行“與”運算,其運算結(jié)果為整型,
&還可以對兩個邏輯型數(shù)據(jù)進行“與”運算,期盼結(jié)果為邏輯型數(shù)據(jù);
而&&則只能對兩個邏輯型數(shù)據(jù)進行“與”運算,其運算結(jié)果為邏輯型數(shù)據(jù)。
例如:
7&5 // 結(jié)果為 5
true & true // 結(jié)果為 true
true && true // 結(jié)果為 true
&&則有可能只對第一個操作數(shù)進行取值,而&則總是對每個操作數(shù)都進行取值。
例1.
&優(yōu)先級高于&&
int i=0;
bool b;
b = i>0 && ++i>0;
// 第一個條件就不成立,則不再考慮第二個條件
//直接得出結(jié)果 b=false, 而且 i=0
例2.
int i=0;
bool b;
b=i>0 & ++i>0;
// 無論第一個條件是否成立,都會對第二個操作數(shù)進行取值,
// 雖然結(jié)果為 b=false,但是 i=1
- 2 回答
- 0 關(guān)注
- 1489 瀏覽
添加回答
舉報