C语言,找个错,不管输入什么,输出都是0.00
#include<stdio.h>voidmain(){floatf,c;printf("华氏温度是:\n");scanf("%f",&f);c=5/9*(f-32);p...
#include<stdio.h>
void main(){
float f,c;
printf("华氏温度是:\n");
scanf("%f",&f);
c=5/9*(f-32);
printf("摄氏温度是%.2f\n",c);
}
在求问一个,这里我把
printf("华氏温度是:\n");
放到float f,c;这句的前面,会提示错误,这是为什么啊? 展开
void main(){
float f,c;
printf("华氏温度是:\n");
scanf("%f",&f);
c=5/9*(f-32);
printf("摄氏温度是%.2f\n",c);
}
在求问一个,这里我把
printf("华氏温度是:\n");
放到float f,c;这句的前面,会提示错误,这是为什么啊? 展开
6个回答
展开全部
#include<stdio.h>
void main(){
float f,c;
printf("华氏温度是:\n");
scanf("%f",&f);
c=5.0/9*(f-32); /* 这里改成5.0/9 */
printf("摄氏温度是%.2f\n",c);
}
void main(){
float f,c;
printf("华氏温度是:\n");
scanf("%f",&f);
c=5.0/9*(f-32); /* 这里改成5.0/9 */
printf("摄氏温度是%.2f\n",c);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c=5/9*(f-32) 这儿有问题,表达式从左往右算,先算5/9得0,然后再进行乘法运算,所以怎么算都是0,改成5.0/9就OK了。
追问
能不能说的详细点,的确是这里有问题,既然定义他为浮点数,不是应该可以算到小数点后吗?还有为什么改成5.0就可以了呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c=5/9*(f-32);
发生了隐式类型转换,你把5 和9改成5.0,9.0.就可以了。因此从左往右计算的时候,整数5除以整数9,得到的结果也会是整数类型的0,所以就一直是0了。
发生了隐式类型转换,你把5 和9改成5.0,9.0.就可以了。因此从左往右计算的时候,整数5除以整数9,得到的结果也会是整数类型的0,所以就一直是0了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c=5/9*(f-32);
这错了,5/9=0,应该是5.0/9*(f-32);
这错了,5/9=0,应该是5.0/9*(f-32);
更多追问追答
追问
能不能说的详细点,的确是这里有问题,既然定义他为浮点数,不是应该可以算到小数点后吗?还有为什么改成5.0就可以了呢?
追答
不是5/9,系统把结果默认为int型,如果是5.0/9,结果就变成float型了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把 F,C 定义成 整数型 试试
追问
应该不是这个问题,我把
c=5/9*(f-32);改成c=5*(f-32)/9;就可以了,这是为什么啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询