Why does this nested printf statement print "5 53"?

The return value of printf is the

number of characters transmitted to the output stream or negative value if an output error or an encoding error (for string and character conversion specifiers) occurred

(from here, emphasis mine) and “5 5” are three characters (namely “five space five”). So the last number printed is 3.

Leave a Comment