一个C语言的格式输入问题

来源:百度知道 编辑:UC知道 时间:2024/07/08 02:05:14
用scanf时
scanf("%f",&a)和scanf("%lf",&a)的区别.是不是和a是否为double型有关系!!!
那double型的能用%f
float型的能用%lf型的么,有没有什么精度损失之类的.

lf是在输入double型的时候才用的。
double型的能用%f输入,编译器会自动提高精度。
float型的也能用%lf输入,但是会有一半的精度丢失。double型的准确有效数字是小数点后16位,float型是7位。如果你输入一个数字,比如1.234567890123,用double型的话会全部输入,但用float型的话从9开始以后的数字就全丢弃了,你再把它打印出来的话你就会发现从第8位以后的都能不是你输入的。

是的 , double 用 %lf, float用 %f