問題は、入力が 0 のときにループを終了するように指示していることです。
入力は決して 0 ではありません。改行の ASCII は 10 なので、それを使用する必要があります。
このコードは機能するはずです。実際には、このコードは数値を指定してもまったく気にせず、最初に見つかった改行の前の最後の文字を返すだけです。
+[ // increment [1] by 1 and enter the loop
,[ // read input to [1] and enter another loop
>+>+<<- // copy the initial input twice whilst decrementing the original
]
>>>++++++++++ // write 10 (for newline) and enter a loop
[
<->- // decrement the 10 counter and one of the copied inputs
]
< step back to the (input - 10) cell
]<<<. // if (input - 10 == 0) then you just read a carriage return! yay! Step back by three to the last stored input and print it out to the console.