fxj2002 发表于 2021-7-23 20:18:53

大家帮帮忙

#include<stdio.h>
int main()
{
        int i; 为什么把int改为float结果就从7.00变成7.22
        float k;
        printf("请输入华氏度;");
                scanf("%d",&i);
        k=(i-32)*5/9;
        printf("转换为摄氏度是:%.2f\n",k);
return 0;}

不能懒 发表于 2021-7-23 21:12:35

int的结果只保留了整数位数,小数点舍弃,float类型是可以保留小数点后位数自行设置

冰清玉洁丸 发表于 2021-7-23 22:19:40

int只保留整数,但用的float格式化输出就会多两个0;float算的全部,再用float格式化输出就不变

Jerry_Green 发表于 2021-7-23 22:21:19

因为先计算,后赋值,计算时存储临时变量的变量类型跟i是一样的,计算结果是整型,整型再赋值给k。

万千只cnm 发表于 2021-7-23 22:39:13

浮点数和整型(int)精度不同呀
页: [1]
查看完整版本: 大家帮帮忙