c语言 格式转换符 %f %e %g 有什么区别

作者&投稿:党婷 (若有异议请与网页底部的电邮联系)
c语言 格式转换符 %f %e %g 有什么区别~

%f 表示按浮点数的格式输出
%e 表示按指数形式的浮点数的格式输出
%g 表示自动选择合适的表示法输出
示例程序如下:
#include void main() { float f = 3.1415926; printf("%f
", f); // 输出3.141593 printf("%e
", f); // 输出3.141593e+000 printf("%g
", f); // 输出3.14159 }

转换说明%f
按浮点数的格式输出,可指定精度(默认小数点后六位)
转换说明%e
按指数形式的浮点数的格式输出,可指定精度( 科学计数法)
转换说明%g
自动选择合适的表示法输出(最多保留6位有效数字)



转自:网页链接

%g   以%f%e中较短的输出宽度输出单,双精度实数(看看这个例子,希望你明白)

main()

{

 double a=1000000000; 

 double b=123.456; 

 printf("%e
",a);

 printf("%f
",a);

 printf("%g
",a);

 printf("%e
",b);

 printf("%f
",b);

 printf("%g
",b);

}



%f   表示按浮点数的格式输出

%e  表示按指数形式的浮点数的格式输出

%g  表示自动选择合适的表示法输出


示例程序如下:

#include<stdio.h>
void main()
{
    float f = 3.1415926;
    printf("%f
", f);   // 输出3.141593    
    printf("%e
", f);   // 输出3.141593e+000
    printf("%g
", f);   // 输出3.14159
}


不能用void main(),void main()不是c99标准