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.
solved Why does this nested printf statement print “5 53”?