C语言 单精度和双精度实数输出

类型转换字符%f的使用。

main( )
{
    float  f=123.456;
    double d1,d2;
    d1=1111111111111.111111111;
    d2=2222222222222.222222222;
    printf("%f,%12f,%12.2f,%-12.2f,%.2f\n",f,f,f,f,f);
    printf("d1+d2=%f\n",d1+d2);
}                        
 程序运行结果如下:
      123.456001,  123.456001,      123.46,123.46      ,123.46
        d1+d2=3333333333333.333010    

本案例程序的输出结果中,数据123.456001和3333333333333.333010中的001和010都是无意义的,因为它们超出了有效数字的范围。
对于实数,也可使用格式符%e,以标准指数形式输出:尾数中的整数部分大于等于1、小于10,小数点占一位,尾数中的小数部分占5位指数部分占4位(如e-03),其中e占一位,指数符号占一位,指数占2位,共计11位。
也可使用格式符%g,让系统根据数值的大小,自动选择%f或%e格式、且不输出无意义的零。

你可能感兴趣的:(#,C语言数据的输入和输出)