打印

89C51 C程序 遇到怪问题

[复制链接]
2182|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
8086|  楼主 | 2011-5-17 06:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dqyubsh| | 2011-5-17 07:19 | 只看该作者
强制类型状换,让乘数和被乘数都变成4位(unsigned long)类型的,结果才能确保是4位的。

大致这样:z=(unsigned long)mc*1000;

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
8086 + 3
板凳
ningling_21| | 2011-5-17 07:37 | 只看该作者
改为:
mc=200;
z=mc;
z=z*1000;
也可以,两边的类型要保持一致

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
8086 + 3
地板
ayb_ice| | 2011-5-17 08:31 | 只看该作者
这是C的基本问题

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
8086 + 3
5
8086|  楼主 | 2011-5-17 09:53 | 只看该作者
谢谢2楼、3楼。

这样程序会慢一些是吧?

使用特权

评论回复
6
Linda_008| | 2011-5-18 23:12 | 只看该作者
参数传递类型保持一致才是最重要,
速度差不了多少的,
参数类型不一致辞,在以后的函数调用中会吃很多苦头的

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
8086 + 3
7
HORSE7812| | 2011-5-24 11:59 | 只看该作者
平台的特点,呵呵,没办法,靠经验了。

使用特权

评论回复
8
delin17| | 2011-5-24 13:32 | 只看该作者
7# HORSE7812

这不是平台特点,C很容易有这问题的

使用特权

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

本版积分规则

15

主题

47

帖子

0

粉丝