Подпись printf:
int printf(const char* restrict fmt, ...)
, и вы передали целое число для первого аргумента.
Поведение printf(1234)
равно undefined Реализация определена.
5. Целое число может быть преобразовано в любой тип указателя.За исключением случаев, указанных ранее, результат определяется реализацией, может быть неправильно выровнен, может не указывать на объект ссылочного типа и может быть представлением прерывания.(6.3.2.3 Указатели)
Поведение не определено, когда 1234 указывает на допустимую строку, которая содержит спецификаторы формата.