昏暗___杜鹃鸟 发表于 2014-8-17 08:59:07

结果怎么不对

本帖最后由 昏暗___杜鹃鸟 于 2014-8-19 07:50 编辑

结果不正确?3/1是分数

沉默默 发表于 2014-8-17 09:54:16

看不出哪里错了

牡丹花下死做鬼 发表于 2014-8-17 10:36:27

哪错了??

ravenhu13 发表于 2014-8-17 11:34:53

本帖最后由 ravenhu13 于 2014-8-17 11:36 编辑

按道理说,应该是B=0。
你试试第1种:scanf(x,y);
a = x/y;
下面的一样...
看看结果对不对。

或者简单点第2种:试试用debug生成,看结果是什么。。

T~K 发表于 2014-8-17 12:25:54

1.0/3.0float精度够么{:9_239:}

T~K 发表于 2014-8-17 12:34:17

T~K 发表于 2014-8-17 12:25
1.0/3.0float精度够么

为什么我编译会报错

一个人在战斗 发表于 2014-8-17 14:36:09

ravenhu13 发表于 2014-8-17 11:34
按道理说,应该是B=0。
你试试第1种:
看看结果对不对。


b怎么可能等于0啊,1.0/3.0结果肯定是个实数,这个结果没有任何问题啊,1/3的时候才是0。。。

一个人在战斗 发表于 2014-8-17 14:36:54

楼主,你在逗我们玩吗?这个结果不对吗?你想要什么结果???

ravenhu13 发表于 2014-8-17 22:42:36

一个人在战斗 发表于 2014-8-17 14:36
楼主,你在逗我们玩吗?这个结果不对吗?你想要什么结果???

他就是要等于0的结果。

晓风残血 发表于 2014-8-17 23:29:07

ravenhu13 发表于 2014-8-17 22:42
他就是要等于0的结果。

3*1/3不等于1等于多少

ravenhu13 发表于 2014-8-18 00:10:50

本帖最后由 ravenhu13 于 2014-8-18 00:14 编辑

晓风残血 发表于 2014-8-17 23:29
3*1/3不等于1等于多少
编译器确实就是这样子干的,但貌似楼主是这样想的1/3=0,0*3=0,所以说楼主才会觉得结果不对。

一个人在战斗 发表于 2014-8-18 08:25:45

ravenhu13 发表于 2014-8-17 22:42
他就是要等于0的结果。

那就用1/3啊,这样做结果是int型的,1.0/3.0进行了类型转换,结果是float型的。。。

ravenhu13 发表于 2014-8-18 08:39:08

一个人在战斗 发表于 2014-8-18 08:25
那就用1/3啊,这样做结果是int型的,1.0/3.0进行了类型转换,结果是float型的。。。

看到这里,楼主应该懂了。。

昏暗___杜鹃鸟 发表于 2014-8-19 07:50:20

那是3分之1啊:mad:

昏暗___杜鹃鸟 发表于 2014-8-19 08:11:41

3分之1 不是0.3333333333吗?

康小泡 发表于 2014-8-23 09:40:52

ravenhu13 发表于 2014-8-17 11:34
按道理说,应该是B=0。
你试试第1种:
看看结果对不对。


为什么是0   应该是当 1/3的时候才是0八个人的理解
页: [1]
查看完整版本: 结果怎么不对