%g是什么格式的,该如何解决

%g是什么格式的
C语言中%d是int型,%f是浮点型,那么我在网上见到一个%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的控制输出.