float后a+b不就是float型了嘛?那么不就等于3.5然后加2不就等于5.5了嘛?我哪里错了,求答案。
因为你输出的是%d
所以是5 【望采纳】
float之后a+b确实是float型了
问题你的b是int型啊
所以小数又被舍去了
假如(a+b)/2是6.5,你赋值给b,b是int,它只能是6,不可能是6.5
要么你把b的类型改成float
如果不愿意改b的类型,你可以重新定义一个float sum=b来参与计算
emm按你的想法最后输出的应该是8.5,b的类型改成float,输出格式改成%f