为了账号安全,请及时绑定邮箱和手机立即绑定

我把"x+y=%d\n"改成"x+y=%f\n" ,其他没动,为什么结果显示0.000000,而不是7.000000呢?

我把"x+y=%d\n"改成"x+y=%f\n" ,其他没动,为什么结果显示0.000000,而不是7.000000呢?

正在回答

3 回答

因为你前面是int x,y;所以x,y都是整型变量,得不出float

1 回复 有任何疑惑可以回复我~
#1

钢笔 提问者

非常感谢!
2016-09-11 回复 有任何疑惑可以回复我~

不知道x,y是什么数据类型,语法规定低精度的数据类型不能自动转换成高精度的数据类型

0 回复 有任何疑惑可以回复我~
#1

钢笔 提问者

经你一提知道了,刚返回去复习了自动转换和强制转换了,谢啦!
2016-09-11 回复 有任何疑惑可以回复我~

算术具有封闭性,整型算法和float相冲突,你把后面的赋值语句x+y改成(float)(x+y),这样值就对了

1 回复 有任何疑惑可以回复我~
#1

钢笔 提问者

嗯,刚刚经过各种尝试,知道差异了,谢谢!
2016-09-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我把"x+y=%d\n"改成"x+y=%f\n" ,其他没动,为什么结果显示0.000000,而不是7.000000呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信