首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将N个十进制数作为输入并打印数字,将崩溃转储写入: erl_crash.dump...done init,在do_boot ()中终止

如何将N个十进制数作为输入并打印数字,将崩溃转储写入: erl_crash.dump...done init,在do_boot ()中终止
EN

Stack Overflow用户
提问于 2016-01-08 10:18:51
回答 1查看 447关注 0票数 0

预期投入:

4.

20.0000

5.0000

0.5000

-0.5000

预期产出:

20.0000

5.0000

0.5000

-0.5000

下面是我的代码,但它会抛出错误:

正在将崩溃转储写入: erl_crash.dump...done init,在do_boot ()中终止

代码语言:javascript
复制
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).
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-08 13:39:47

当输入不是浮点数时,io:fread("", "~f")会出错。你可以这样改变它:

代码语言:javascript
复制
kilo(N) when N>0->
    case io:fread("", "~f") of
        {ok,[M]} -> io:format("~f~n",[M]);
        _ -> ok
    end,
    kilo(N-1).
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34674550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档