#include <stdio.h>
int main(void)
{
double a,b;
scanf(“%f”,&b);
a=2.54*b;
printf(“%f cm\n”,a);
}
本人用cfree编了这么一个制度转换的程序,调试完后,执行时却总显示是0.000000,不知有何错误?
int main(void)
{
double a,b;
scanf(“%f”,&b);
a=2.54*b;
printf(“%f cm\n”,a);
}
本人用cfree编了这么一个制度转换的程序,调试完后,执行时却总显示是0.000000,不知有何错误?
解决方案
10
%lf
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
20
double对应%lf
你用%f读入double,可能只写入了8个字节中的4个字节,所以输出的值不对。
你用%f读入double,可能只写入了8个字节中的4个字节,所以输出的值不对。
scanf("%lf",&b);