独闷闷网

 找回密码
 立即注册
搜索
查看: 2653|回复: 0
打印 上一主题 下一主题
收起左侧

[原创] 单字节变量赋值给多字节变量时候,多字节变量其余高位会被0覆盖吗?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-18 15:10:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
★坚鸿-深圳:

请问,a,b,c,d最后各自是什么?结果是多少?

慕枫-无锡:
0xab。


★坚鸿-深圳:
完全正确。全部都是0xab。大家好好品味这道题,实战中很有用。
我就是刚才突然碰到这个疑惑,然后就上51单片机的板子上做实验试试看。

小田田-深圳:
有出现过0x123456ab这种情况吗?

★坚鸿-深圳:
具体记不清了,不太敢确定,好像曾经遇到过,有可能不同的编译器会不一样。
所以我以前是用这种方法的:
  1.     b=0;
  2.     b=t;  
复制代码

这种方法感觉太过于谨慎,缺乏老工程师的风范。所以今后我打算用以下这种:
  1. c=(unsigned long)t;
复制代码

我也推荐大家用这种强制转换的方法。

乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-11-29 16:38 , Processed in 0.158222 second(s), 21 queries .

快速回复 返回顶部 返回列表