But it doesn't. The implisit conversion will sign extend the char to an int when char is passed as a single arguement.
String and character literal escapes must be spesified as unsigned octal or hex, but that has nothing to do with printf.
Printing functions don't care about the sign of a character, because they just map each set of eight bits to a symbol. Signed or unsigned these bits still have the same mapping.

