刚系上红领巾 发表于 2019-1-29 22:36:35

搞不懂float和double

刚刚做小甲鱼的作业,发现了一个问题。代码如下:
#include<stdio.h>

int main()
{
        int name;
        float height, weight;
       
        printf("输入您的姓名:");
        scanf("%s", name);
       
        printf("请输入您的身高(cm):");
        scanf("%f",&height);
       
        printf("请输入您的体重(kg):");
        scanf("%f",&weight);
       
        printf("========正在为您转换========\n");
       
        height = height / 2.54;
        weight = weight / 0.4535924;
       
        printf("%s的身高是%.2f(in),体重是%.2f(lb)",name,height, weight);
       
        return 0;
}
定义height和weight的时候只能用float,不能用double,如果用了double最后输出的值就是0。根据我的了解,double应该通用性比float要强,除了容量没有太大区别了。为什么这里只能用float。

claws0n 发表于 2019-1-29 23:04:20

如果用 double, 配合 scanf("%lf", &weight);// 小写的 LF
页: [1]
查看完整版本: 搞不懂float和double