宠物小精灵忍者蛙进化:这段代码是什么意思?

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 15:02:30
#include <stdio.h>

void main ()
{
printf("0 & 0 is %d\n", 0 & 0);
printf("0 & 1 is %d\n", 0 & 1);
printf("1 & 1 is %d\n", 1 & 1);
printf("1 & 2 is %d\n", 1 & 2);
printf("15 & 127 is %d\n", 15 & 127);
getch();
}
&不是判断真假的逻辑运算符吗?为什么结果不是1和0?

位运算,不是逻辑运算。
0&0, 0
0&1, 0
1&1, 1
1&2, 00000001
00000010
00000000
15&127, 15

位运算

换成2进制后的与运算

printf("0 & 0 is %d\n", 0 & 0);
第一个&是个字符,打印出来
第二个&是个位操作符,类似于“与”
显示分别为:
0
0
1
0
15

&&才是逻辑运算符,&是位运算符。