C语言问题 关于float和double
c语言教程字符串那一课S1E8的最后一道题如果声明height和weight变量为float,结果正常,但是在vc6++中为warning
如果声明height和weight变量为double,vc6++不会报错,但是vc6++和DeV-C++中的结果都是错误的
这是为什么。 本帖最后由 claws0n 于 2018-9-30 23:44 编辑
警告而已,完整代码?被截掉了
scanf() 你用 %f 而不是 %lf ? claws0n 发表于 2018-9-30 23:42
警告而已,完整代码?被截掉了
scanf() 你用 %f 而不是 %lf ?
真的是scanf的问题。 是double类型在scanf就必须用%lf格式化吗 把代码发出来我看看行不 csilovelxl 发表于 2018-10-1 16:10
把代码发出来我看看行不
以下是没改过得代码
#include<stdio.h>
int main(void)
{
char name;
double 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.453; //公斤转磅
printf("%s的身高是%.2f英寸,体重是%.2f磅",name,height,weight);
return 0;
} 酴醾 发表于 2018-10-1 15:59
真的是scanf的问题。 是double类型在scanf就必须用%lf格式化吗
输入的话有要求,double 要配合 %lf,输出 printf() 可以用 %f。
页:
[1]