Así a bote pronto tienes un problema de parámetros.
con "*" le indicas a printf el tamaño del siguiente campo, en ese caso, printf espera encontrarse primero con un int que indique el tamaño del campo y después el valor efectivo del campo.
En el caso que te ocupa tu tienes "%*d\b%s %*d". Desglosamos:
- %*d -> 2 parámetros
- %s -> 1 parámetro
- %*d -> 2 parámetros
en total dan 5 parámetros y tu únicamente estás pasando 4, luego acabas accediendo a memoria que no te pertenece.