double类型用 %lf。double变量可以用%f或%lf在printf输出,float变量只能用%f输出。double变量只能用%lf在scanf输入,float变量只能用%f输入。 1double类型用什么表示 完整输出double形数据,使用%f格式。 C99标准规定用%f输出double类型,%lf等价于%f(可以在"%"和字母之间加小写字母l, 表示输出的是长型数)。 c语言是...
double类型的输入输出 在c语言中,double类型的读入必须用"%lf";输出必须用"%f" 解释:double和float的精度是不同的,故存储空间也是不同的,所以如果要读入double类型,必须要用%lf来读入,以免精度丢失。而输出,由于printf中并无对%lf的严格定义,故使用%lf不一定会出现正确结果。那使用%f输出又如何呢?由于c语言中的...
float和double是两种不同的浮点数类型。float是单精度浮点数,double是双精度浮点数,通常占用更多的内存空间,即double比float多4个字节。%f用于格式化float类型数据的输入和输出,而%lf表示long float,通常对应于double类型。当使用scanf读取float类型数据时,系统按照4字节的长度读取数据,并存储在一个float...
(没有提到的是,float型的为模式可能不同于double型的位模式)。 Taku —— SegmentFault上的回答 输入时: float型输入用%f double型输入用%lf 输出时: 最好是都用%f输出 在C++中,double类型若用%lf输出可能会错, 而在C++中,double类型用%lf输出是正确的 printf() 函数中不存在 %lf。 总结: 输入double 用...
%f是以float类型格式化输入或输出,%lf是long float的意思(估计是和%ld对应),也就是指double类型。sc...
示例:double x;scanf(“%f”,&x);输入“123.4”,输出x的值结果为0,没有接收输入的数据,再输入别的数据,结果都为0。这是因为用户定义x为双精度型数据,而用“%f”格式输入数据,仍不能接收,应该使用“%lf”或“%le”,即scanf(“%lf”,&x);此时输入“123.4”即可接收。因此长整型数据和双精度型数据必须使...
输入时float 用 %f, double 用 %lf, 这是约定(规定)。数据可以用定点格式,也可以 E 格式。输出float 用 %f, double 可以用 %lf, 也可以用 %f, 这将按默认 定点格式输出。没给 场宽和小数位数 时 按 默认位数输出。若给了 场宽和小数位数 时 按 给定的 输出,若给的宽度不足时...
printf的%f说明符的确既可以输出float型又可以输出double型.根据“默认参数提升”规则float型会被提升为double型.因此printf()只会看到双精度数.对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升.向float存储和向double存储大不一样,因此,scanf区别%f和%lf.也就是说输出的时候不管输出的是双精度还是单...
(转载)scanf,printf输入输出float和double型数据,float型会被提升为double型。因此printf()只会看到双精度数。(2)scanf对于float类型必须用%f,double必须用%lf对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。(通过指针)向float存储和向double
是的。double型数据一定要用 %lf 输入。