tyf1218405122 发表于 2022-3-24 19:50:15

float类型用整形输出为什么等于0?

本帖最后由 tyf1218405122 于 2022-3-24 20:07 编辑

printf("%d",(float)(12*3)/2);

结果为0

为什么?求解释!!!

qiuyouzhi 发表于 2022-3-24 20:00:32

发完整代码
a 和 b 是多少?

tyf1218405122 发表于 2022-3-24 20:07:26

qiuyouzhi 发表于 2022-3-24 20:00
发完整代码
a 和 b 是多少?

改了

zzxhh628 发表于 2022-3-24 20:54:59

这个结果不一定,int强制转换为float后可能是个随机数,然后输出出来也就是那个随机数了。

amazed 发表于 2022-3-25 01:02:03

66666666666666

心驰神往 发表于 2022-3-25 08:03:59

顶一下

a1372245671 发表于 2022-3-25 10:05:34

1

tyf1218405122 发表于 2022-3-25 14:29:23

zzxhh628 发表于 2022-3-24 20:54
这个结果不一定,int强制转换为float后可能是个随机数,然后输出出来也就是那个随机数了。

并不都是0;但不是随机数。
这个涉及到能取到的高低位数的问题。

zzxhh628 发表于 2022-3-25 15:02:34

tyf1218405122 发表于 2022-3-25 14:29
并不都是0;但不是随机数。
这个涉及到能取到的高低位数的问题。

嗯,是的
页: [1]
查看完整版本: float类型用整形输出为什么等于0?