Por man
me parece
printf("%*d", width, num);
y
printf("%2$*1$d", width, num);
son equivalentes.
Pero la OMI el segundo estilo debe ser el mismo que:
printf("%*d", num, width);
Sin embargo a través de las pruebas parece man
es correcto; ¿por qué?
¿Estás preguntando "por qué' hombre "está bien?" Después de todo, es _la_ documentación. – Vlad
'2 $ *' debe coincidir con el segundo parámetro, mientras que '1 $ d' debe coincidir con el primero, pero resulta que no es cierto en el caso de' printf ("% 2 $ * 1 $ d", ancho, num); ' –