C語言中%f和%lf的區別


(1)對於printf()來說二者沒有區別

(2)使用scanf()輸入數據時應該區分%f和%lf,當輸入數據是float時用%f,當輸入數據是double時用%lf

讀者可以運行一下下面的例子感受一下區別:

#include <stdio.h>

main()
{
    const double PI = 3.14159;
    double r;
    printf("Input r:");
    scanf("%lf",&r);
    printf("circumstance = %f\n", 2*PI*r);
    printf("area = %f\n",PI*r*r);
    printf("circumstance = %lf\n", 2*PI*r);
    printf("area = %lf\n",PI*r*r);
}

然后再將PI轉化為float,再運行以下程序,你會發現此時的輸出為0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM