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

来源:3-2 算术运算符

钢笔

2016-09-11 16:25

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

写回答 关注

3回答

  • 四月暖天
    2016-09-11 17:36:42
    已采纳

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

    钢笔

    非常感谢!

    2016-09-11 18:43:07

    共 1 条回复 >

  • 慕粉3974676
    2016-09-11 17:38:07

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

    钢笔

    经你一提知道了,刚返回去复习了自动转换和强制转换了,谢啦!

    2016-09-11 18:44:48

    共 1 条回复 >

  • 淡墨浅画
    2016-09-11 17:36:18

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

    钢笔

    嗯,刚刚经过各种尝试,知道差异了,谢谢!

    2016-09-11 18:45:22

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题