1697533692 发表于 2020-8-26 10:58:35

字符和字符串 动动手1 华氏度

兄弟萌我想问下为什么#include<stdio.h>

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

int main()
{
        float i;
        float o;
       
        printf("请输入华氏度:");
        scanf("%.2f",&i);
       
        o=(i-32)*5/9;
        printf("转换为摄氏度是:%.2f",o);
       
        return 0;
}
结果不一样{:5_104:}
就是scanf2f 和%2f那边输入45一个结果是7.22 一个结果是17.78

sunrise085 发表于 2020-8-26 10:58:36

scanf是不能控制输入位数的,只能控制输入类型

1697533692 发表于 2020-8-26 11:01:04

额 输入错了scanf %f和%.2f那边

1697533692 发表于 2020-8-26 11:04:29

sunrise085 发表于 2020-8-26 10:58
scanf是不能控制输入位数的,只能控制输入类型

好 谢谢= =这个我搞半天

Tau-li 发表于 2020-8-26 11:13:44

scanf,只能控制输入长度,不能控制输入精度(即小数点后面的位数),如scanf("%5f",&i);//正确
scanf("%5.2f",&i);//错误

这里的输入长度包括小数点。

1697533692 发表于 2020-8-26 11:28:44

Tau-li 发表于 2020-8-26 11:13
scanf,只能控制输入长度,不能控制输入精度(即小数点后面的位数),如
这里的输入长度包括小数点。

好的   谢谢
页: [1]
查看完整版本: 字符和字符串 动动手1 华氏度