В C у вас есть "%c"
и "%f"
форматы флагов для printf
- и scanf
-подобные функции. Обе эти функции используют аргументы переменной длины ...
, которые всегда конвертируют floats
в doubles
и chars
в ints
.Почему ``% c "` существует в `printf`, если` char` преобразуется в `int`?
Мой вопрос, если это изменение происходит, почему существуют отдельные флаги для char
и float
? Почему бы просто не использовать те же флаги, что и для int
и double
?
Связанные вопрос:
Why does scanf() need "%lf" for doubles, when printf() is okay with just "%f"?
Oh .. очевидно. Как насчет 'float'? –
@PaulManta: флаг форматирования '% f' ожидает аргумент' double'. –