%lf 和 %f 有什么区别

scanf函数是通过指针指向变量的。

%f告诉scanf函数在所传地址位置上存储一个float型值, 而%lf告诉scanf函数在所传地址位置上存储一个double型值。

这里float和double的区别是非常重要的。

如果给出了错误的转换说明,那么scanf函数将可能存储错误的字节数量
(没有提到的是,float型的为模式可能不同于double型的位模式)。 Taku —— SegmentFault上的回答

输入时:
float型输入用%f
double型输入用%lf

输出时:
最好是都用%f输出
在G++中,double类型若用%lf输出可能会错,
而在C++中,double类型用%lf输出是正确的

printf() 函数中不存在 %lf。

总结:

输入 double 用 %lf 输出用 %f

猜你喜欢

转载自blog.csdn.net/vc43vc/article/details/82797655