為什么在第13行用%lf也不是%f
#include <stdio.h>
int main()
{
? ? char c='a';
? ? int n=97; ? ? ? ? //將c賦值給n
? ? float f; ? ? //將c賦值給f
? ? double d; ? ? //將c賦值給d
? ? n=c;
? ? f=n;
? ? d=f;
? ? printf("%d\n",n);
? ? printf("%f\n",f);
? ? printf("%lf\n",d);
? ? return 0; ? ?
}
2016-07-03
因為double比float表示的值大。lf的意思是long float,也就是長浮點型。
2016-06-27
我也不懂
2016-06-10
%f和%lf分別是float類型和double類型用于格式化輸入輸出時對應(yīng)的格式符號。
其中:
float,單精度浮點型,對應(yīng)%f.
double,雙精度浮點型,對應(yīng)%lf.
在用于輸出時:
float類型可以使用%lf格式,但不會有任何好處。
double類型如果使用了%f格式可能會導(dǎo)致輸出錯誤。
在用于輸入時:
double 類型使用了%f格式,會導(dǎo)致輸入值錯誤。
float類型使用double類型不僅會導(dǎo)致輸入錯誤,還可能引起程序崩潰。
所以在輸入輸出時,一定要區(qū)分好double和float,而使用對應(yīng)的格式符號。