c语言
char x=32,y=3,~x&y答案是什么,为什么? #include <stdio.h>int main(void)
{
char x = 32, y = 3;
printf("%d\n", ~x&y);
printf("%d\n", (~x) & y);
return 0;
}
3
3
请按任意键继续. . .
y= 3的二进制表示为00000011
x=32的二进制表示为00100000
因为取反~比按位与&优先级要高
所以先算~x
取反 00100000
--------------
11011111
然后再和y按位与
00000011
and 11011111
-------------
00000011
结果是二进制的11就是十进制的3 machimilk 发表于 2017-4-12 00:21
非常感谢! 人造人 发表于 2017-4-11 17:54
谢谢 学习了
页:
[1]