Вы должны писать свой код как:
void recursive()
{
long double n;
if(cin>>n) // extra parens aren't necessary.
{
recursive();
cout<<n<<endl;
}
}
Теперь печатает только успешно прочитанные значения. Ваша программа также напечатает неудачное чтение; последнее чтение не выполнено, но ваш cout
все равно пытается напечатать n
.
Кстати, вам не нужно нажимать ^Z
, чтобы остановить рекурсию. Вы можете нажать несколько алфавитов или другие нецифровые символы, чтобы остановить рекурсию.
Демо: http://www.ideone.com/D4XT1