如何将 N 个十进制数作为输入并打印数字,正在将故障转储写入:erl_crash.dump...done init 终止于 do_boot()
Posted
技术标签:
【中文标题】如何将 N 个十进制数作为输入并打印数字,正在将故障转储写入:erl_crash.dump...done init 终止于 do_boot()【英文标题】:How to take N decimal number as input and print the numbers ,Crash dump is being written to: erl_crash.dump...done init terminating in do_boot () 【发布时间】:2016-04-12 23:43:33 【问题描述】:预期输入: 4 20.0000 5.0000 0.5000 -0.5000 预期输出: 20.0000 5.0000 0.5000 -0.5000 以下是我的代码,但它引发了错误: 崩溃转储正在写入:erl_crash.dump...done init 终止于 do_boot()
kilo(0)->
ok;
kilo(N) when N>0->
ok,[M]=io:fread("", "~f"),
io:format("~f~n",[M]),
kilo(N-1).
main()->
ok,[M]=io:fread("","~d"),
kilo(M).
【问题讨论】:
该代码对我有用。你如何开始它?您是否收到任何其他错误消息? 【参考方案1】:io:fread("", "~f")
在输入不是浮点数时失败并出现错误。你可以这样改变它:
kilo(N) when N>0->
case io:fread("", "~f") of
ok,[M] -> io:format("~f~n",[M]);
_ -> ok
end,
kilo(N-1).
【讨论】:
以上是关于如何将 N 个十进制数作为输入并打印数字,正在将故障转储写入:erl_crash.dump...done init 终止于 do_boot()的主要内容,如果未能解决你的问题,请参考以下文章