C语言的小问题
有以下程序:main(){unsignedchara,b,c;a=0x3;b=a|0x8;c=b<<1;printf("%d%d\n",b,c);}程序运行后的输出结果是...
有以下程序:
main()
{
unsigned char a,b,c;
a=0x3;b=a|0x8;c=b<<1;
printf("%d%d\n",b,c);
}
程序运行后的输出结果是:11 22
这b=11我算出来了,问题是c为什么是22?能帮我讲解一下吗?谢谢! 展开
main()
{
unsigned char a,b,c;
a=0x3;b=a|0x8;c=b<<1;
printf("%d%d\n",b,c);
}
程序运行后的输出结果是:11 22
这b=11我算出来了,问题是c为什么是22?能帮我讲解一下吗?谢谢! 展开
4个回答
展开全部
b 1011 即11
c 左移1位 10110 即22
c 左移1位 10110 即22
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
左移1位相当于 乘以 2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你算错了吧 那不是 C=B<<1; printf("%d%d\n",b,c);吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询