c语言小代码的疑问·
#include<stdio.h>intmain(void){floatc,f;printf("输入华氏度:\n");scanf("%f",&f);c=5.0/9*(f-...
# include <stdio.h> int main(void) { float c, f; printf("输入华氏度:\n"); scanf("%f", &f); c = 5.0/9*(f-32); printf("等于%f摄氏度。\n", c); return 0; } 为什么那个c = 5.0/9*(f-32);要写5.0,写5都不行
展开
1个回答
展开全部
1234567891011# include <stdio.h> int main(void){ float c, f; printf("输入华氏度:\n"); scanf("%f", &f); c = 5.0/9*(f-32); printf("等于%f摄氏度。\n", c); return 0;
}
c
=
5.0/9*(f-32);
这里如果是5/9,因为5和9是整数,C语言会把5/9当作整数除法计算,结果保留商而舍弃余数,再与后面的整数相乘,得到整数结果,尽管前面的c是浮点数,导致计算结果不正确;
为了得到正确结果,就必须5.0/9,C语言中的加减乘除运算,如果两个数中一个整数,一个浮点数,C语言会自动将整数转换成浮点数,得到浮点数格式的计算结果。因而5.0/9得到浮点数的结果,再与后面的数字相乘,得到最后的浮点数结果。这才是程序需要的结果。
如果满意,欢迎采纳我的解答,谢谢
如有疑问,欢迎追问
}
c
=
5.0/9*(f-32);
这里如果是5/9,因为5和9是整数,C语言会把5/9当作整数除法计算,结果保留商而舍弃余数,再与后面的整数相乘,得到整数结果,尽管前面的c是浮点数,导致计算结果不正确;
为了得到正确结果,就必须5.0/9,C语言中的加减乘除运算,如果两个数中一个整数,一个浮点数,C语言会自动将整数转换成浮点数,得到浮点数格式的计算结果。因而5.0/9得到浮点数的结果,再与后面的数字相乘,得到最后的浮点数结果。这才是程序需要的结果。
如果满意,欢迎采纳我的解答,谢谢
如有疑问,欢迎追问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询