关于程序的问题!!

[复制链接]
 楼主| crack119 发表于 2007-9-5 14:28 | 显示全部楼层 |阅读模式
有个函数入口参数是max(long a,long b),
当直接给b值时,max(1100,100000),max结果计算正确;

x=i*10000+100时,i自加,max(1100,x),结果就错,不知为什么啊!
我用51单片机,高手们指教! 
dwq175 发表于 2007-9-5 14:37 | 显示全部楼层

i与x要定义为(long)

ayb_ice 发表于 2007-9-5 15:05 | 显示全部楼层

计算的过程中数据溢出了...

eraychen 发表于 2007-9-5 22:37 | 显示全部楼层

要看i=几出错啊,还有要转换成long型

 楼主| crack119 发表于 2007-9-14 16:17 | 显示全部楼层

明白,但是

但是为什么要把i也定义成long呢?
不明白啊.
ayb_ice 发表于 2007-9-14 16:44 | 显示全部楼层

不明白,找书看.

eraychen 发表于 2007-9-14 21:36 | 显示全部楼层

re:

i如果值没超过int的最大范围的话,就没必要转换成long型,但i*10000+100的结果一定要转换成long型
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

80

帖子

0

粉丝

19

主题

80

帖子

0

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