编一个简简单单的温度转换,但是似乎发生了一些难以理解的错误
#include<stdio.h>
int main(void)
{
float F=0,C=0;
scanf("请输入一个华氏温度:%f",F);
C=5*(F-35)/9;
printf("与该华氏温度对应的摄氏温度为:%.2f", C);
return 0;
}
当输入为-40时
运行出来时-19.44 ,但是不应该是-41.44吗?
#include<stdio.h>
int main(void)
{
float F=0,C=0;
scanf("请输入一个华氏温度:%f",F);
C=5*(F-35)/9;
printf("与该华氏温度对应的摄氏温度为:%.2f", C);
return 0;
}
当输入为-40时
运行出来时-19.44 ,但是不应该是-41.44吗?
scanf("请输入一个华氏温度:%f",&F); ==> 输入格式:请输入一个华氏温度:-40
修改处见注释,供参考:
#include<stdio.h>
int main(void)
{
float F=0,C=0;
printf("请输入一个华氏温度:"); //scanf("请输入一个华氏温度:%f",F);
scanf("%f",&F); // &F ,变量前缺少 & 符
C=5*(F-35)/9;
printf("与该华氏温度对应的摄氏温度为:%.2f", C);
return 0;
}
scanf()函数详细说明,供参考:https://baike.baidu.com/item/scanf/10773316?fr=aladdin