zxc++ 发表于 2023-2-17 18:38:08

求助,数据类型输出被卡....

这个代码运行出来结果固定-17.778
#include <stdio.h>

int main()
{
    float tem, hsd;

    printf("请输入今天的华摄氏度");
    scanf("%.3f", &tem);

    hsd=(tem-32)*5/9;

    printf("今日摄氏度是%.3f", hsd);

    return 0;
}

而把输出符号换成%f则可以正常输出,但限制不了小数点位数,这是怎么回事?
#include <stdio.h>

int main()
{
    float tem, hsd;

    printf("请输入今天的华摄氏度");
    scanf("%f", &tem);

    hsd=(tem-32)*5/9;

    printf("今日摄氏度是%f", hsd);

    return 0;
}

isdkz 发表于 2023-2-17 18:44:52

本帖最后由 isdkz 于 2023-2-17 18:49 编辑

scanf是没有精度控制的,不能在 scanf 里面写 %.3f,要在 printf 里面写

#include <stdio.h>

int main()
{
    float tem, hsd;

    printf("请输入今天的华摄氏度");
    scanf("%f", &tem);

    hsd=(tem-32)*5/9;

    printf("今日摄氏度是%.3f", hsd);

    return 0;
}
页: [1]
查看完整版本: 求助,数据类型输出被卡....