在if-else语句(c)中浮点不工作

在if-else语句(c)中浮点不工作,c,if-statement,int,C,If Statement,Int,每当我尝试在此IF-ELSE语句中使用浮点值时,它都会给出0或错误答案。我使用了INT作为代码的其余部分,其余部分工作正常。这是我第一次在代码中使用float,现在它没有给我想要的答案 你能告诉我我做错了什么吗 float interestrate; if (month < 49) { interestrate = (0.063); } else if (salary <= 25000) { interestr

每当我尝试在此
IF-ELSE语句中使用浮点值时,它都会给出
0
或错误答案。我使用了
INT
作为代码的其余部分,其余部分工作正常。这是我第一次在代码中使用float,现在它没有给我想要的答案

你能告诉我我做错了什么吗

float interestrate;

    if (month < 49)
    {
        interestrate = (0.063);
    }
    else if (salary <= 25000)
    {
        interestrate = (0.033);
    }
    else if (salary > 45000)
    {
        interestrate = (0.063);
    }
    else
    {
        interestrate = (0.033+(salaryabovethreshold*0.0000015));
    }

    printf("Interest Rate: %d \n", interestrate);
浮动利率;
如果(月<49)
{
利率=(0.063);
}
其他条件(工资45000)
{
利率=(0.063);
}
其他的
{
利率=(0.033+(工资高于阈值*0.0000015));
}
printf(“利率:%d\n”,利率);

格式说明符
%d
用于
int
s,而不是
float
s。对于浮点类型,请尝试
%f
%e
%g
%a

printf
不工作。检查用于打印的格式说明符
float
sAh ok。我应该用别的东西代替printf吗?你应该用
%f
代替
%d
。建议阅读
printf
这些东西
%d
%f
等(格式说明符)通常在初级C编程书的第1章中介绍。谢谢,我是初学者