是C还是编译器的问题

[复制链接]
 楼主| hebeijiang 发表于 2011-12-30 14:54 | 显示全部楼层 |阅读模式
使用zlg的tkstudio 在写软件,里面有段:
static char Buf[100];
...
Buf[0] = 0x4c;
Buf[2] = 0x43;
...
U32 Addr;
Addr = ((U32)(Buf[0]))<<8 +  ((U32)(Buf[2]));
printf("A=%x",Addr);
Addr = ((U32)(Buf[0]))<<8 ;
Addr +=  ((U32)(Buf[2]));
printf("B=%x",Addr);

打印的结果为:
A=0
B=4c43

奇怪了!哪里出问题了?
通过仿真器看也是一样的结果的。
spareribs 发表于 2011-12-30 15:23 | 显示全部楼层
+优先级比<<高
 楼主| hebeijiang 发表于 2011-12-30 15:30 | 显示全部楼层
谢了,
确实没在意到这。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

158

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

15

主题

158

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部