double x=2;
printf("%?", x);
Какую буковку подставить заместо "?"
Есть варианты.
e,E -- вывод с плавающей точкой, например 2.000e+00 или 2.000E+00
f,F -- вывод с фиксированной точкой, например 2.000
g,G -- функция сама выберет, как выводить. Если вывод в форме с фиксированной точкой даёт достаточно значащих цифр, то используется f или F, в противном случае используется e или E.
Точка/запятая в выводе управляется локалью, число знаков в выводе управляется заданием precision в формате:
printf("%2.2f", 2) напечатает 2.00