(1) 有问题.float a=0.000123456; // 有效位数字6位,小数点后...printf("%20.10f",a);可以输出 0.0001234560(2) 0.000001和1E-6在内存中的存储内容是一样的.输出显示 与格式有关,可以定点格式,可以科学记数格式,位数场宽都可自己给定。a=1E-8 看你给的格式。float a=1E-8;printf("%20.10f ",a);printf("%g",a); 0.0000000100 1e-008