为什么双精度和单精度一样都是保留6位小数

#include <stdio.h>
int main()
{
double c1,c2;
c1=97;c2=98;
printf("%f,%f\n",c1,c2);
printf("%lf,%lf",c1,c2);
}

在C语言中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位小数。
如果要输出n位小数,那么可以用%.nlf的格式。其中n为数字。
如要输出10位小数,那么
printf("%.10lf\n", a);