Вероятно, это связано с различиями в настройках вывода в разных операционных системах.
По умолчанию в терминале macOS есть настройка "вывод завершающего символа новой строки", что сделает выводимую строку "Enter number = " записываемой на терминал с пробелом в конце, что создает впечатление, что пробел присутствует.
В то же время, настройки терминала Windows, возможно, не установлены для автоматического вывода завершающего символа новой строки, поэтому пробел в конце строки не отображается.
Вы можете явно указать пробел в конце строки следующим образом:
`cout << "Enter number = " << " ";`,
или использовать символы перевода строки `endl` вместо пробела:
`cout << "Enter number = " << endl;`.