-2
и -2.000000
- это одно и то же значение.Это просто вопрос того, сколько цифр точности напечатано.
Если вы не укажете спецификатор точности при печати k
, он будет использовать значение по умолчанию 6:
printf("%f\n", k);
Вывод:
-2.000000
Что касается GDB, при печати float
будет отображаться только необходимое количество значащих цифр.Поскольку значение -2 может быть представлено точно, оно не показывает никаких дополнительных цифр.