為什么在第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
因?yàn)閐ouble比f(wàn)loat表示的值大。lf的意思是long float,也就是長(zhǎng)浮點(diǎn)型。
2016-06-27
我也不懂
2016-06-10
%f和%lf分別是float類(lèi)型和double類(lèi)型用于格式化輸入輸出時(shí)對(duì)應(yīng)的格式符號(hào)。
其中:
float,單精度浮點(diǎn)型,對(duì)應(yīng)%f.
double,雙精度浮點(diǎn)型,對(duì)應(yīng)%lf.
在用于輸出時(shí):
float類(lèi)型可以使用%lf格式,但不會(huì)有任何好處。
double類(lèi)型如果使用了%f格式可能會(huì)導(dǎo)致輸出錯(cuò)誤。
在用于輸入時(shí):
double 類(lèi)型使用了%f格式,會(huì)導(dǎo)致輸入值錯(cuò)誤。
float類(lèi)型使用double類(lèi)型不僅會(huì)導(dǎo)致輸入錯(cuò)誤,還可能引起程序崩潰。
所以在輸入輸出時(shí),一定要區(qū)分好double和float,而使用對(duì)應(yīng)的格式符號(hào)。