hours是int整型变量,占位符是%d,第一个写对了。第二个hours是double双精度浮点型,占位符%lf,却写成了%f(单精度浮点型float的占位符)。
hours
int
%d
double
%lf
%f
float
修改为:scanf("%lf",&hours);因为第2个代码里,hours 定义的是 double 型变量。