%g用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的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的控制输出.