c语言 输入浮点型数据 和输出的有一点差别 为什么

#include <stdio.h>
int main(void)
{
float num;
printf("Enter a floating-point value: ");
scanf("%f", &num);
printf("fixed-point notation: %f\n", num);
printf("exponential notation: %e\n", num);

return 0;}
输入一个小数 小数点后5位以后输入和输出就不一样了

哪是因为 printf 输出的时候 你打的是%f 的方式
也就是 以小数输出 但是%f 隐含了 输出6位小数
所以你输入的一大串 在6位小数后都被程序截取了
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-19
%f 以小数的形式输出。
%e以指数的形式输出.
float类型默认7位有效数字。
第2个回答  2013-03-19
你问问题都怕麻烦,人家怎么跟你答啊,你起码举例说下哪里有什么差别啊

c语言 输入浮点型数据 和输出的有一点差别 为什么
也就是 以小数输出 但是%f 隐含了 输出6位小数 所以你输入的一大串 在6位小数后都被程序截取了

C语言中以单精度浮点型输入,输出格式为%d或%c,为什么显示的数不对?谢谢...
肯定不对啊!你输入的时候是单精度浮点数类型,c语言中变量就是float类型,输入使用的格式是%f。不同的变量类型在内存中的储存方式也完全不同,当你用整型格式(int)去读一个浮点格式(float)的数字时,不可能读出正确的结果。所以,你必须用跟输入时相同的格式(%f)输出(另外,还必须跟变量的类型...

c语言中float和double为什么输出会完全不一样?
float 和 double 在输出的时候其实都是用%f输出。c语言中,浮点型输出默认都是输出小数后6位。你为什么会认为double会输出到小数后15位呢,我感觉你是认为double的精确度有15位,float的精确度是7位,对吧,其实事实double和float在输出的时候都是默认输出到小数后6位,但是你可以用%m.nf 的格式控制 ...

c语言有3位小数的浮点型数字输出后怎么最后一位会多出一个1?_百度知 ...
浮点数在存储的时候 是近似值 所以 在打印的时候多一点 少一点 都是正常的 于是 在编程的时候,一般不会用%f 而是取一定位数,比如 %.3f 保留三位小数。如果你要要求前六位都是完全精确的值,那么可以使用double 注意 输出的时候用%lf

C语言 为什么输出一个100一个99?
由于浮点数数据类型的存储方式比较特别,所以比较浮点数是否相等,需要通过:if((doubleA - doubleB) < 0.000001 && (doubleA -doubleB) > -0.000001)去判断,其中的0.000001即精度需求,可以自己修改为更加精确的,一般是0.000001。你上面的程序 double a = 0.02-0.01和double b = 0.03-0...

c语言中,输入浮点型实数,为什么会在数据后出现零以外的数?
因为C语言在编程时会自动改成双精度浮点型数据,本来的单精度浮点型数据会变成双精度浮点型数据(一般保留六位小数)。所以现在后面多出了几位数字。

c语言中%f与%lf有什么区别?
一、输入不同 1、%lf\\n:%lf\\n输入数据时要求是float类型。2、%f\\n:%f\\n输入数据时要求是double类型。二、输出不同 1、%lf\\n:double类型以%lf\\n格式输出数据时不会自动转成%lf\\n格式,会导致输入值错误。2、%f\\n:float类型以%f\\n格式输出数据时会自动转成%f\\n格式,不会导致输入值错误...

c语言以%f形式输出小数,和实际的不一样?
浮点数是近似值 无法精确表示

C语言,double类型的变量使用scanf()函数赋值后再使用printf()输出,为什 ...
c语言中double输入输出,都用 %lf 进行格式化,是否写成了 %f, 这个是float类型。include <stdio.h>int main(){ double d = 0; printf("intput a double:"); scanf("%lf", &d); printf("d = %lf\\n", d); return 0;} 2. 字符定义如下 字符对应数据类型含义 d \/ ...

C语言中,整数与浮点型数运算,得到的结果是浮点型,为什么我得到的还是...
你的理解只对了一半。确切地说:表达式 2.5*0.9*a的值的确是浮点类型的。但关键的是:在将一个浮点类型值赋值给整型变量时发生了类型转换,即将左边浮点类型的值,按“向零取整”原则,转换为整型类型的值了!( ̄▽ ̄)"

相似回答