55问答网
所有问题
C语言输入使用double型时,输出总是出错?
即使把%f换成%1f也是一样的问题,但是输入为float型是只需要改一下%f中间数字就可以正常运行,求解答
举报该问题
推荐答案 2020-07-13
C语言中scanf输入一般是不控制精度的,只有printf输出才会控制精度
一般输入输出的
占位符
浮点型(float)用“%f”,双精度型(double)用“%lf”
!注意double的“%lf”中的“l”是字母“L”的小写,不是数字“1”!
“%1f”“%2f”“%.2f”之类的在输入中是不规范的语法,一般只在输出中使用,表示取几位有效数字
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/I8LQGGL48RGFLIQIL4L.html
其他回答
第1个回答 2020-07-13
%1f,是指那个浮点数只有一位整数,而%2f,是指那个浮点数有两位整数,而楼主要输入的就是两位整数,所以肯定要至少f前面的数字是2
第2个回答 2020-07-13
scanf("%1f", &a);表示直接收1位输入 20转换后就只有0了
如果像接受double 请使用scanf("%lf", &a);
第3个回答 2020-07-13
什么意思?double类型应该是%lf(long float)吧!截图我看看不清
相似回答
C语言double型
数据
输出
有问题,请高手指点。
答:
出现类型不匹配问题
,double型的为%lf 而float为%f 所以才出现问题。include<stdio.h> int main(){ double x;scanf("%f",&x);printf("x=%f\n",x);} }
关于
C语言中double型输出
的问题
答:
当两个格式用反时,会造成程序读取数据并赋值时1653,赋值给变量时字节信息错位,导致数据错误
。float 存储数据格式为:1位的符号位+8位的指数位+23位尾数 double存储数据格式为:1位的符号位+11位的指数位+52位尾数 因此,错位存储的数据,解释输出来就差别非常大了。
C语言
关于float 和
double
输入时
如果是float必须用%f double必须
用
...
答:
输入时
float 用 %f,
double
用
%lf, 这是约定(规定)。数据可以用定点格式,也可以 E 格式。
输出
float 用 %f, double 可以用 %lf, 也可以用 %f, 这将按默认 定点格式输出。没给 场宽和小数位数 时 按 默认位数输出。若给了 场宽和小数位数 时 按 给定的 输出,若给的宽度不足时...
...float时可以
输出
正确结果,而定义x,y为
double
就
错
了?
答:
/*可以用了。double是按双精度
输入输出
。一般
使用
%lf进行格式控制,可以理解成longfloat。float对应的是%f
,double
对应的是%lf,这样用。二者
输入的时候
采取的格式不一样,内存中就有很大的不同。就好比float你用%d存一样。还是应该对应着来。但是平常的作业中double不经常用,一般float就可以满足要求了...
C语言double
输入输出
的问题,如图的程序
,输入
数值进去
总是输出
00000...
答:
scanf这个语句表达
double类型的
数据不正确 double这个类型有一点特殊,在scanf和printf里面的表达方式是不一样的。在scanf里面需要
用
%lf表达,在printf里面需要用%f表达。修改后的代码如下:include<stdio.h>int main(){double a;scanf("%lf",&a);printf("%f",a);getchar();getchar();return 0;}...
大家正在搜
double输出用f还是lf
double c语言输出
c语言double怎么用
c语言中double的用法
c语言中float和double
c语言中的double类型
double类型的数怎么输出
double数据输出类型
c输出double类型数据
相关问题
C语言中scanf函数的使用输入double型的使用方法,如...
C语言中,定义long double型变量a,输出a的值时用...
关于C语言中double型输出的问题
C语言,double类型的变量使用scanf()函数赋值后再...
c语言double类型不能用%d输出,会出错
double类型变量C语言里输出时的格式说明符是什么?
C语言中用double还是溢出该怎么办,用long doub...
c语言double型数据输出错误有什么问题