【发布时间】:2026-01-31 09:45:02
【问题描述】:
这是这个简单的代码:
char a = '10';
char b = '6';
printf("%d\n", a | b);
printf("%d\n", a ^ b);
printf("%d\n", a << 2);
输出是
54
6
192
现在我的问题是,为什么会出现这些结果。我在纸上查了一下,我所拥有的是
1110 for a | b = 14
1100 for a ^ b = 12
00101000 for a << 2 = 40
那么为什么会有不同的结果呢?
【问题讨论】:
-
提示:试试
printf("%d, %d\n", a, b);。我想你的意思是char a = 10; char b = 6;