2 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
&是按位与运算符(或取地址运算符),&&是条件与运算符(也叫逻辑与运算符)。
进行与运算时,二者的不同之处在于:
&可以对两个整型数据,按照二进制位,逐位进行“与”运算,其运算结果为整型,
&还可以对两个逻辑型数据进行“与”运算,期盼结果为逻辑型数据;
而&&则只能对两个逻辑型数据进行“与”运算,其运算结果为逻辑型数据。
例如:
7&5 // 结果为 5
true & true // 结果为 true
true && true // 结果为 true
&&则有可能只对第一个操作数进行取值,而&则总是对每个操作数都进行取值。
例1.
&优先级高于&&
int i=0;
bool b;
b = i>0 && ++i>0;
// 第一个条件就不成立,则不再考虑第二个条件
//直接得出结果 b=false, 而且 i=0
例2.
int i=0;
bool b;
b=i>0 & ++i>0;
// 无论第一个条件是否成立,都会对第二个操作数进行取值,
// 虽然结果为 b=false,但是 i=1
- 2 回答
- 0 关注
- 1433 浏览
添加回答
举报
0/150
提交
取消