打印

想起个C数据类型的疑问

[复制链接]
1467|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
箫笑|  楼主 | 2009-9-10 11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 箫笑 于 2009-9-10 16:04 编辑

大概是这样的:
unsigned char a = 20;
unsigned char b = 30;
unsigned int c;

c = a * b;

看到书上说得不到正确的答案,但是我用DEV C++试了,没有问题,隐式转换是跟编译器有关的吗?

我可以解释得不到正确答案的原因,但是不能解释结果正确的原因。
强制类型转换要耗费我N多字节,而我的Flash就剩下最后这性命攸关的几个字节,另有一种写法:
c = a;
c = c * b;
这比强制类型转换要耗费更多字节,
所以,我能否冒这个险......

相关帖子

沙发
djjyi| | 2009-9-10 15:21 | 只看该作者
可以啊    怎么得不得正确的答案?

使用特权

评论回复
板凳
zydlyq| | 2009-9-10 16:02 | 只看该作者
同意和编译器有关

使用特权

评论回复
地板
箫笑|  楼主 | 2009-9-10 16:02 | 只看该作者
我可以解释得不到正确答案的原因,但是不能解释结果正确的原因。
强制类型转换要耗费我N多字节,而我的Flash就剩下最后这性命攸关的几个字节,另有一种写法:
c = a;
c = c * b;
这比强制类型转换要耗费更多字节,
所以,我能否冒这个险......

使用特权

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

本版积分规则

78

主题

368

帖子

0

粉丝