c语言编程中%g是什么格式

C语言最后输出的时候有个%g,代表的是以什么格式输出

%g用来输出实数,它根据数值的大小,自动选f格式(一般小数格式)或e格式(科学计数法)。选择标准为选择输出时占宽度较小的一种。且%g不输出无意义的0。
即%g是根据结果自动选择科学记数法还是一般的小数记数法。
比如如下代码:
printf("%g\n", 0.00001234);
printf("%g\n", 0.0001234);

printf("%.2g\n", 123.45);
printf("%.2g\n", 23.45);

分别会输出:
1.234e-05
0.0001234
1.2e+02
23
对于指数小于-4或者大于给定精度的数值,按照%e的控制输出,否则按照%f的控制输出.
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-04
%g用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的0。本回答被提问者采纳
第2个回答  2010-07-09
%g 意思就是按实数实际长度输出,比如 0.123 如果是%f的话 输出的是0.123000 如果是%g的话 输出的就是0.123
第3个回答  2010-07-09
选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写表示。
第4个回答  2010-07-20
%g意思是由系统决定采用%f还是采用%e格式,以使输出宽度最小
相似回答