C语言中变量“b”真的很牛B,b是真的牛B还是我SB?

[复制链接]
2890|12
 楼主| junwei05 发表于 2012-4-24 21:06 | 显示全部楼层 |阅读模式
我想试一下强制转换bit型,单步执行后,惟独b变量是0,WHY?求指教!希望得到解决你的指导!谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ilovezeno 发表于 2012-4-24 22:06 | 显示全部楼层
bit类型根本就不是c语言的默认类型,显然是编译器自己的扩展。
既然是编译器自己的扩展,自然要看编译器的手册。
你不看手册碰到问题,显然是你自己SB
以上~
 楼主| junwei05 发表于 2012-4-24 22:29 | 显示全部楼层
2# ilovezeno

谢谢批评!请问为何有这样的差异,谢谢!
zhiyonghe 发表于 2012-4-24 22:35 | 显示全部楼层
a = (bit)(0x80)

强制转化的bit类型数据赋值给char类型?
ayb_ice 发表于 2012-4-25 08:54 | 显示全部楼层
编译都通不过的
b与B寄存器同名了
hgjinwei 发表于 2012-4-25 09:10 | 显示全部楼层
Watch 窗口显示问题,汇编代码和IRAM显示窗口都正常!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
原野之狼 发表于 2012-4-25 09:10 | 显示全部楼层
可以在memory里看看值,不要watch b,很有可能和寄存器b冲突了。
elec921 发表于 2012-4-25 12:30 | 显示全部楼层
你watch B
那么编译器把51里的B给WATCH了
你应该 watch memory --b的地址
logokfu 发表于 2012-4-25 14:00 | 显示全部楼层
bit类型根本就不是c语言的默认类型,显然是编译器自己的扩展。
既然是编译器自己的扩展,自然要看编译器的手册。
你不看手册碰到问题,显然是你自己SB
以上~ ...
ilovezeno 发表于 2012-4-24 22:06
:lol
sxhhhjicbb 发表于 2012-4-25 20:55 | 显示全部楼层
watch中是由软件指定地指的.....这个地址可能不是你想要的.比如同名变量.
lelee007 发表于 2012-4-25 21:16 | 显示全部楼层
你看下编译器手册吧,这种强转左右操作数类型不匹配的时候,编译器默认会如何处理,还是直接报错
 楼主| junwei05 发表于 2012-4-25 23:37 | 显示全部楼层
4# zhiyonghe

c语言中应该没有说不同类型不能赋值吧,如果没记错的话应该是不同类型变量的赋值会按一定的规则赋值,难道我记错了?求指教教!
ayb_ice 发表于 2012-4-26 09:23 | 显示全部楼层
全局变量不能与SFR重名,不分大小写
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

37

帖子

1

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