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.