【发布时间】:2020-07-08 21:49:53
【问题描述】:
我尝试了以下代码,但无法获得所需的输出。
结果应该是AB,它应该来自单个变量C
int main()
{
int a = 'A';
int b = 'B';
unsigned int C = a << 8 | b;
printf(" %c\n",C);
return 0;
}```
【问题讨论】:
-
请不要发布代码图片 - reasoning。请将其发布为格式化文本。
-
%c只会读取一个字符/字节。你真的需要/想要为此使用位移吗?int C = 'AB'不是有效代码。因此,目前尚不清楚期望的结果是什么。 -
注意:01000001 是 0x41 不是 0x1000 和 01000010 是 0x42 不是 0x2000
-
关于:
int a = 'A'; int b = 'B';这些应该声明为unsigned而不是int -
同一个问题不要问两次!