结果怎么不对
本帖最后由 昏暗___杜鹃鸟 于 2014-8-19 07:50 编辑结果不正确?3/1是分数 看不出哪里错了 哪错了?? 本帖最后由 ravenhu13 于 2014-8-17 11:36 编辑
按道理说,应该是B=0。
你试试第1种:scanf(x,y);
a = x/y;
下面的一样...
看看结果对不对。
或者简单点第2种:试试用debug生成,看结果是什么。。
1.0/3.0float精度够么{:9_239:} T~K 发表于 2014-8-17 12:25
1.0/3.0float精度够么
为什么我编译会报错 ravenhu13 发表于 2014-8-17 11:34
按道理说,应该是B=0。
你试试第1种:
看看结果对不对。
b怎么可能等于0啊,1.0/3.0结果肯定是个实数,这个结果没有任何问题啊,1/3的时候才是0。。。 楼主,你在逗我们玩吗?这个结果不对吗?你想要什么结果??? 一个人在战斗 发表于 2014-8-17 14:36
楼主,你在逗我们玩吗?这个结果不对吗?你想要什么结果???
他就是要等于0的结果。 ravenhu13 发表于 2014-8-17 22:42
他就是要等于0的结果。
3*1/3不等于1等于多少 本帖最后由 ravenhu13 于 2014-8-18 00:14 编辑
晓风残血 发表于 2014-8-17 23:29
3*1/3不等于1等于多少
编译器确实就是这样子干的,但貌似楼主是这样想的1/3=0,0*3=0,所以说楼主才会觉得结果不对。 ravenhu13 发表于 2014-8-17 22:42
他就是要等于0的结果。
那就用1/3啊,这样做结果是int型的,1.0/3.0进行了类型转换,结果是float型的。。。 一个人在战斗 发表于 2014-8-18 08:25
那就用1/3啊,这样做结果是int型的,1.0/3.0进行了类型转换,结果是float型的。。。
看到这里,楼主应该懂了。。 那是3分之1啊:mad: 3分之1 不是0.3333333333吗?
ravenhu13 发表于 2014-8-17 11:34
按道理说,应该是B=0。
你试试第1种:
看看结果对不对。
为什么是0 应该是当 1/3的时候才是0八个人的理解
页:
[1]