(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