float不是应该用%lf吗?double型才用%f,但是题目是身高float型,按道理来说应该是%lf啊?
float和double的关系就像short跟long的关系一样,%l %lf对printf函数来说是没有区别,因为传递给C语言可变参数函数的float类型变量都会被隐式提升为double, 所以这里的%f和%lf的效果是一致的。但是对于scanf,%f和%lf的含义就不一样了,因为传递的是指针。一般建议对于float类型使用%f,double类型使用 %lf