慕莱坞4462739
2017-08-03 17:57
第二个输出不是单精度吗?为啥运行结果是97.000000
这里的精度指的是有效数字的位数,后面的零都是为了区别于整型的,所以默认是那么多个,
#include <stdio.h>
int main()
{
char c = 'a';
int n = c ; //将c赋值给n
float f = c; //将c赋值给f
double d = c; //将c赋值给d
printf("%d\n",n); //97
printf("%f\n",f); //97.000000
printf("%lf\n",d);//97.000000000000000
return 0;
}
单精度(float--%f)精确到小数点后第6位,双精度(double--lf)精确到小数点后15位
#include <stdio.h>
int main()
{
char c = 'a';
int a =97;
int n = c; //将c赋值给n
float f = c; //将c赋值给f
double d = c; //将c赋值给d
printf("%d\n",n);
printf("%f\n",f);
printf("%lf\n",d);
return 0;
}
%f 在前面讲解过小数的
C语言入门
926020 学习 · 20793 问题
相似问题