От страницы в printf(3)
вручную:
Флаг символов
Характер% следуют ноль или более из следующих флагов:
# — Значение должно быть преобразовано в «альтернативной форма». Для преобразований o первый символ выходной строки равен нулю (путем префикса 0, если он уже не равен нулю). Для преобразований x и X ненулевой результат имеет строку «0x» (или «0X» для преобразований X), добавленную к ней. Для преобразований a, A, e, E, f, F, g и G результат всегда будет содержать десятичную точку, даже если никакие цифры не следуют за ней (как правило, десятичная точка появляется в результатах этих преобразований, только если a цифра). Для преобразований g и G конечные нули не удаляются из результата, как в противном случае. Для других преобразований результат не определен.
Другие флаги опущенные ...
Таким образом,% # Добавляет «0x» к выходу, так как выходной формат x
. 0 используется для использования 0
(нули). Затем число 4 говорит, что общее количество символов для печати - четыре. Если бы номер 4 был заменен на 10, то результатом было бы 0x00000032
– в общей сложности 10 символов.
Это помогло бы, если бы вы указали то, что ожидаете увидеть. – 2010-11-22 14:39:33