Формат вывода. Разница между float и double
printf("1000*pi =\n\n");
float x = 1000*acos(-1.0);
printf("%%f
= %f\n", x );
printf("%%e = %e\n", x );
printf("%%g = %g\n\n", x );
double y = 1000*acos(-1.0);
printf("%%lf = %lf\n", y );
printf("%%le = %le\n", y );
printf("%%lg = %lg\n", y );
x = acos(-1.0);
printf("x = %f\n", x );
printf("x = %.3f\n", x );
printf("x = %.0f\n", x );
x = 1;
printf("x = %f\n", x );
printf("x = %.3f\n", x );
printf("x = %.0f\n", x );
float x = acos(-1.0);
double y = acos(-1.0);
printf("float = %.8f\n", x );
printf("double = %.16lf\n", y );
printf("real pi = 3.141592653589793238462..." );
float – 7 точных знаков после запятой
double – 15 точных знаков после запятой