&&和&的关系 初学者的提问

若x=2,y=3,则x&&y的结果是
A.0
B.1
C.2
D.3

&&是逻辑与,2非0为真,3非0为真,真与真 结果是真,真的值是1

&是按位与运算,左右两边都会进行运算。&&是逻辑与运算,当左边为假的时候不会运算右边的。
比如int i=1,j=1;
(i-1)&(j-1) 然后输出i和j时,i,j都为0;(i-1)&&(j-1) 然后输出i和j时,i=0;j=1;

我多说一句,&&也称为短路与,这个名字极大帮助我们理解!int a=1,b=1,那么a++&&b++,此时a=2而b=1,是因为a参与运算遇到&&就“短路”了,b不会参与运算。
当我用短路与&&的时候,就要考虑a和b放在前面的顺序。
这种放在if条件语句也极为常见。
另外还有短路或||也是一样的道理