Похоже, что это могло быть, есть модификаторы длины (по крайней мере, на C99), которые могут быть применены к int
: %hhd
, %hd
, %ld
и %lld
означают signed char
, short
, long
и long long
. Существует даже модификатор длины, применимый к double
: %Lf
означает long double
.
Вопрос: почему они пропустили float
? Следуя шаблону, это могло быть %hf
.