C语言里面%g的具体实例用法

C语言里面%g的具体实例用法,
printf函数里面,说%G,%g是在%f,%e或者%E中选用,规则是产生最短输出者优先,能给个例子吗?并帮忙解释下,谢谢~

  由系统来选择%f或%e输出格式,输出6位有效数字,不输出小数尾数的0。比如

printf( "%g", 1.2 );    // 1.2
printf( "%g", 122222222.2 );     // 1.22222e8
printf( "%G", 122222222.2 );     // 1.22222E8

printf("%g",4.5);//4.5
printf("%f",4.5);//4.500000
printf("%e",400.5);//4.5e+2
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-02
简单地说%f,%e或者%E保留小数点六位精度输出,%g保留有效位数六位输出,小数最后面的若干0自动去掉。

#include <stdio.h>
main()
{
float x=1.00;
printf("%f %e %g\n",x,x,x);
x=12345678;
printf("%f %e %g\n",x,x,x);
}
分别输出
1.000000 1.000000e+00 1
12345678.000000 1.234568e+07 1.23457e+07本回答被提问者采纳
第2个回答  2019-02-18
可以自动选取%f或%e的方式输出浮点数的有效数字.
如果没有指出精度,
则默认为6;
如果格式转换后其指数小于-4
或者大于等于其精度,
则使用e形式.
转换结果消除了小数部分末尾的零;
小数点前面至少有一位十进制数字.
第3个回答  2011-05-19
#include <stdio.h>
main()
{ printf("%f %e %g\n",35.123456789,35.123456789,35.123456789);
system("pause");
}
输出结果
35.123457 3.512346e+001 35.1235
相似回答