菜鸟请教基础的小问题
for(int i=1.0;i <=2.0;i+=0.1)中,值永远不变.这是为什么呢?
十分感谢.见笑了,不耻下问.哈哈
------解决方案--------------------int改为double
------解决方案--------------------浮点型不需要加f吗???
------解决方案--------------------i 是int型,1加0.1后还是还是1,所以值永远不变
------解决方案--------------------同意楼上
------解决方案--------------------恩,没错,正解!
------解决方案--------------------Top
回复人:xsyl_1982(黑欲浪子) ( ) 信誉:100 2007-01-22 19:03:30 得分:0
? i 是int型,1加0.1后还是还是1,所以值永远不变
说点子上了
------解决方案--------------------没追求,如果是java的话语法都错的,int 改double才能运行
------解决方案--------------------楼上的为什么要这么说呢?
------解决方案--------------------nie7870120() ( ) 信誉:100 Blog 2007-1-22 19:45:34 得分: 0
没追求,如果是java的话语法都错的,int 改double才能运行
有理!这段程序能编译过吗?怎么能运行.
------解决方案--------------------因为i是整形变量,在执行i+=0.1的时候先把0.1转化为整型(也就是0),然后i+=0,不就不会改变i的值了么,所以值就不变了!
------解决方案--------------------i 是int型,1加0.1后还是还是1,所以值永远不变
------解决方案--------------------都成int了,i+=0,一直不变
------解决方案--------------------int 和浮点点型的差距就在这里
------解决方案--------------------.................