问答详情
源自:3-2 算术运算符

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

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

提问者:钢笔 2016-09-11 16:25

个回答

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

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

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

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

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

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