В терминале мак после вывода пишет знак %
При выводе в терминале через cout постоянно выводит знак %. Я так понял, что он ждет дальнейшего ввода, но как это убрать? Помогает после cout писать endl или "\n", но это не очень удобно и в некоторых ситуациях невозможно. Вроде бы раньше такого не было.

Ответы (2 шт):
это так шелл (думаю, это все таки zsh) или терминал показывает Вам, что вывод предыдущей команды завершился без перевода строки.
вопрос на enSO
Там предлагают исправить здесь
iTerm 2: Preferences->Profiles->Terminal->Report Terminal Type.
у меня мака нет, проверить не могу
Как верно заметил @KoVadim это ваш шелл, zsh, отмечает, что добавил перевод строки к выводу программы. Данная функция управляется переменной окружения PROMPT_EOL_MARK, если не установлена - реверсивный процент.
leo@leom20 ~ % printf "No LF"
No LF%
leo@leom20 ~ % PROMPT_EOL_MARK="{XXX"
leo@leom20 ~ % printf "No LF"
No LF{XXX
leo@leom20 ~ % PROMPT_EOL_MARK=""
leo@leom20 ~ % printf "No LF"
No LF
leo@leom20 ~ %
Её можно установить в profile, а можно в настройках шелл терминальной программы. man zsh, man zshoptions, ... - полезное чтение.
P.S. Да, раньше по-умолчанию был bash, у него другие тараканы, но можно к нему вернуться...