C30编译器的问题,问题很大......

[复制链接]
2661|2
 楼主| stghl 发表于 2007-9-4 14:09 | 显示全部楼层 |阅读模式
unsigned&nbsp;long&nbsp;a,b;<br />int&nbsp;main(void)<br />{<br />&nbsp;&nbsp;&nbsp;a=10000*7;<br />&nbsp;&nbsp;&nbsp;b=200001*7;<br />&nbsp;&nbsp;&nbsp;return&nbsp;0;<br />}<br />编译a=10000*7;这句就出错,&nbsp;b=20001*7;这个句就不会出错<br />不知道这个C30会这样...<br />出错信息:<br />main.c:&nbsp;In&nbsp;function&nbsp;'main':<br />main.c:4:&nbsp;warning:&nbsp;integer&nbsp;overflow&nbsp;in&nbsp;expression
soso 发表于 2007-9-4 17:52 | 显示全部楼层

不是compiler的错,你自己该打pp

&nbsp;&nbsp;&nbsp;C89&nbsp;或者C99都是默认没有指定数据类型的数据为int,&nbsp;你改成:<br />&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;10000L&nbsp;*&nbsp;7;<br />&nbsp;&nbsp;&nbsp;b&nbsp;=&nbsp;200001L&nbsp;*&nbsp;7;<br />&nbsp;&nbsp;&nbsp;看看?&nbsp;
 楼主| stghl 发表于 2007-9-7 09:40 | 显示全部楼层

好了

我试了一下好了,谢谢楼上的...是该打PP
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

25

帖子

0

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