ISO C規格では、
ピリオド('。')の後にオプションの10進数文字列が続く形式のオプションの精度...これにより、... gおよびG変換の有効数字の最大数が得られます。
GNU libc(GCC 4.5.1、libc 2.11; GCC 4.6.3、libc 2.15)で得られる出力は次のとおりです。
printf("%.6g\n", 0.12);
0.12
printf("%.6g\n", 0.1234567890);
0.123457
printf("%.6g\n", 0.001234567890);
0.00123457
printf("%#.6g\n", 0.001234567890);
0.00123457
printf("%.6g\n", 0.00001234567890);
1.23457e-05
printf("%#.6g\n", 0.00001234567890);
1.23457e-05
printf("%.6f\n", 0.12);
0.120000
printf("%.6f\n", 0.1234567890);
0.123457
printf("%.6f\n", 0.001234567890);
0.001235
printf("%#.6f\n", 0.001234567890);
0.001235
printf("%.6f\n", 0.001234567890);
0.000012
printf("%#.6f\n", 0.001234567890);
0.000012