浮点书输出有误

#include<stdio.h>
int main(){
 float fl;
 printf("Please input a float number:\n");
 scanf("%f", &fl);
 printf("The input is %f or %e\n", fl,fl);
 return 0;
}

http://img.mukewang.com/57f89b200001956619201080.jpg

为什么输出的是21.290001 后面多了一个1呢?

qq_不睡觉的怪叔叔_0
浏览 1436回答 2
2回答

mrs_empress

在c语言中 1)用 scanf() 函数输入 double 类型的变量时,转换说明中的转换字符(占位符)只能用 lf,即%lf,写成 %f 无法正确输入double型数据;你试试看

望远

C语言里float表示的是一个近似值
打开App,查看更多内容
随时随地看视频慕课网APP