搞不懂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。 如果用 double, 配合 scanf("%lf", &weight);// 小写的 LF
页:
[1]