关于类型转换的~不是说int会自动向上double转换的吗,可是结果为什么不一样
code1:
#include<stdio.h>
double tempinter(double m);/*celsius to fahr*/
main(){
int i;
for(i=0;i<=300;i+=20){
printf("%3.0lf %6.1lf\n",(double)i,tempinter(i));
}
return 0;
}
double tempinter(double c){
double f;
f=9.0/5.0*c+32;
return f;
}
运行结果:
code2:
#include<stdio.h>
double tempinter(double m);/*celsius to fahr*/
main(){
int i;
for(i=0;i<=300;i+=20){
printf("%3.0lf %6.1lf\n",(double)i,tempinter(i));
}
return 0;
}
double tempinter(double c){
double f;
f=9/5*c+32;
return f;
}
运行结果:
不是说算术运算符中有一个浮点型操作数和一个整型操作数的话,则在运算之前整形操作数会被转换为浮点型的吗?但为何code1与code2的结果不一样呀?到底是怎么转换的?
[解决办法]
9/5 =》 1
[解决办法]