天天看點

%f與%lf的差別和用法

​代碼如下:

#include<stdio.h>
int main(void)
{
  double x;float y;
  scanf("%lf%f",&x,&y);
  printf("%f %f",x,y);
  return 0;
}      

%f和%lf是格式字元串,作用是在資料輸入或輸出時,把資料按照指定的格式(例如%d就代表十進制形式)輸入或輸出。

%f代表單精度浮點型資料,也就是float資料類型;%lf代表雙精度浮點型資料,也就是double資料類型。

一個float類型的資料的有效數字一般是6位,配置設定4個位元組,數值範圍(絕對值)是0以及1.2×10-38~3.4×1038。

一個double類型的資料的有效數字一般是15位,配置設定8個位元組,數值範圍(絕對值)是0以及2.3×10-308~1.7×10308。

需要注意的是:

在C語言中,在使用scanf輸入函數和printf輸出函數時,隻有scanf函數需要區分%f和%lf,也就是說當輸入資料是float類型時隻能用%f,當輸入資料是double類型時隻能用%lf。