
按照题目,我编写了c语言代码
#include<stdio.h>
int main()
{float a,b;
printf("请输入华氏温度");
scanf("%f",&a);
b=5*(a-32)/9;
printf("该华氏温度所对摄氏温度为:%d",b);
return 0;}
但是无论输入的a是什么值,输出的b都是24。
请问这是怎么回事

printf("该华氏温度所对摄氏温度为:%d",b);
d 改成 f, 因为b不是int型
请输入华氏温度46
该华氏温度所对摄氏温度为:7.777778