打印

问个c的问题

[复制链接]
1539|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhaidianzi|  楼主 | 2012-10-17 18:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
a | (b << 8)
其中a和b都是8bit的类型,假设a是1,b是1,得到结果是多少
沙发
weishukongji| | 2012-10-17 18:47 | 只看该作者
a是1的话就不会执行b << 8了
所以a 和 b都还是1
结果也是1

使用特权

评论回复
板凳
ywert000| | 2012-10-17 18:57 | 只看该作者
VC++6.0,测试输出1
在RedHat里测试输出1
两者都定义为unsigned char型。

使用特权

评论回复
地板
happy啦啦啦| | 2012-10-17 20:25 | 只看该作者
不知道楼主你想干啥,要得到什么结果吗

使用特权

评论回复
5
huanghongxing| | 2012-10-18 21:58 | 只看该作者
可以使用Microsoft Visual Studio 2010调试一下,你就明白了,在C语言中或运算,一般先看第一表达式,看看它是否为真,如果为真,结果为1,在看后面的表达式;而与运算,一般先看第一个表达式,是否为零,如果为0,结果为0,否则在计算后面的值。

使用特权

评论回复
6
airwill| | 2012-10-19 20:43 | 只看该作者
结果 1, 很肯定, 不知道楼主疑惑些什么?

使用特权

评论回复
7
kkzz| | 2012-10-19 22:48 | 只看该作者
目测结果是1!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

146

帖子

0

粉丝