ocaml で read_int 関数を実装すると (以下を参照)、
let read_int () = Scanf.bscanf Scanf.Scanning.stdin "%d" (fun x -> x)
format 引数が%d(no space) の場合、コンパイラは次の情報とともに失敗を返します。
Exception:
Scanf.Scan_failure
"scanf: bad input at char number 1: ``character '\\n' is not a decimal digit''".
' '%dしかし、 (スペース付きのプレフィックス)を使用すれば問題ありませんが、なぜ%d間違っているのでしょうか? %dとはどう違い' '%dますか?. ありがとう。