The strings in your printf() calls don't end in "\n", so they don't drop to a new line. Consequently, the next thing that appears on the terminal will appear on the same line as whatever your program printed.
So...what happened next?
The string [1] + Done comes from the bash shell, not from your program. It indicates the compiled program had been run in the background ("[1]" indicates it was job %1), and had completed its run.