忘殇流年 发表于 2019-3-12 14:02:57

菜鸡求助整形和浮点型问题

前面两个结果对,后面两个结果是错的,为什么?只有这句有改动:b=(5/9)*(a-32);

#include <stdio.h>
int main()
{
        float a,b;
        printf("请输入华氏温度:");
        scanf("%f",&a);
        b=(5.0/9)*(a-32);
        printf("摄氏温度为:%f",b);
        return 0;
}

#include <stdio.h>
int main()
{
        float a,b;
        printf("请输入华氏温度:");
        scanf("%f",&a);
        b=(5/9.0)*(a-32);
        printf("摄氏温度为:%f",b);
        return 0;
}

#include <stdio.h>
int main()
{
        float a,b;
        printf("请输入华氏温度:");
        scanf("%f",&a);
        b=(5/9)*(a-32);
        printf("摄氏温度为:%f",b);
        return 0;
}

#include <stdio.h>
int main()
{
        float a,b;
        printf("请输入华氏温度:");
        scanf("%f",&a);
        b=(5/9)*(a-32.0);
        printf("摄氏温度为:%f",b);
        return 0;
}

BngThea 发表于 2019-3-12 14:09:22

5/9 这里常量都被默认为int,所以结果为0
你可以改为5.0/9或5/9.0

忘殇流年 发表于 2019-3-12 14:13:21

BngThea 发表于 2019-3-12 14:09
5/9 这里常量都被默认为int,所以结果为0
你可以改为5.0/9或5/9.0

谢谢
页: [1]
查看完整版本: 菜鸡求助整形和浮点型问题