Не уверен, что это подходящий вопрос, но совсем недавно я заметил, что при запуске программы C++ в терминале, когда он выходит, после последнего вывода есть знак%. Например, приветственная мировая программа говорит "привет мир%". Что это и как я могу избавиться от него? Я на OS X, shell - zsh. Если я не сумасшедший, это никогда не делалось до сих пор.
Есть две возможности, которые я могу придумать из рук:
1) Вы не печатаете возврат каретки, поэтому приглашение% появляется в конце напечатанного текста, а не на следующей строке. (Является ли% вашей стандартной подсказкой в оболочке?)
2) Вы печатаете за конец буфера и получаете случайный символ в результате.
Я бы предположил, что №1 основывается на том, что вы описываете, но оба могут привести к поведению.