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

2024-11-30 01:59:45
推荐回答(3个)
回答1:

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

main()

{

 double a=1000000000; 

 double b=123.456; 

 printf("%e\n",a);

 printf("%f\n",a);

 printf("%g\n",a);

 printf("%e\n",b);

 printf("%f\n",b);

 printf("%g\n",b);

}

回答2:

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

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

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


示例程序如下:

#include
void main()
{
    float f = 3.1415926;
    printf("%f\n", f);   // 输出3.141593    
    printf("%e\n", f);   // 输出3.141593e+000
    printf("%g\n", f);   // 输出3.14159
}

回答3:

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