http://en.wikipedia.org/wiki/Printf_format_stringprintf (Wikipedia) seems to say that it's for decimal as I had guessed:
d,i
int as a signed decimal number. '%d' and '%i' are synonymous for output, but are different when used with scanf() for input (using %i will interpret a number as hexadecimal if it's preceded by 0x, and octal if it's preceded by 0.)