This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
format is your first argument, args your second one. About your last argument printf doesn't care.
Also, your second argument, "13%1$s", is taken as a String. So "%1$s" is here not a placeholder
What is done in the end? printf checks the first argument; prints 12, then gets the second argument and prints
13%1$s. Altogether: 1213%1$s