编程,不同类型,变量的赋值问题。

来源:百度知道 编辑:UC知道 时间:2024/09/21 20:58:46
unsigned long a = 53;
unsinged short b = a;

结果b = 80608500
用a给b赋值肯定是有问题的。
为什么会b = 80608500。
赋值时内存是怎么copy的

你的b的定义写错了,unsigned你给写反了.
我在机器上试了,
你这个输出是53
测试环境,VC++6.0
正常是自动类型转换的.

随机的吧。

类型提升(type promotion)规定short可以向long型隐式转换,不存在上述问题,看是不是你输出的格式错了