C语言,Printf打印的问题,小数点后面的打印怎么用

求解呀

img

就那个printf那里,为什么要,9.0
不用9.0的话,打印出来全都是零
这是怎么回事儿?求解,谢谢

如果是9,那么整个表达式都是整数之间进行乘除,那么除法就是整除,比如3/4 = 0,不是0.75
9改为9.0后,除法是整数除以浮点数,结果就是浮点数,3/4.0=0.75

不用小数点零的话,C语言会默认整除,比如3/2=1,1/2=0,而用了小数点零,它才会输出小数部分的值

除以9.0,最后的商就变成浮点数了,你用的输出格式是%6.1f