You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Brainfuck中使用逗号(,)命令?

关于Brainfuck逗号(,)命令的工作原理与你的代码问题
  • 逗号命令的本质:, 命令是从键盘标准输入读取一个字节的ASCII值,存入当前指针指向的内存单元格,和之前用.输出的内容完全无关。你之前把输入输出的数据流搞混了——.是把内存数据打印到屏幕,,是从键盘拿数据进内存,两者完全独立,没有关联。

  • 你的代码无效的原因:
    你写的代码:

    ++++++++++[>++++++<-]>+++++. <,
    

    执行步骤拆解:

    1. ++++++++++:指针0单元格设为10
    2. [>++++++<-]:循环10次给指针1加6,最终指针1值为60,指针0归零
    3. >+++++:指针移到1,再加5,指针1值为65(对应ASCII的'A')
    4. .:输出'A'到屏幕
    5. <:指针移回0
    6. ,:此时程序会暂停,等待你手动从键盘输入一个字符,把该字符的ASCII值存入指针0。你以为它会自动读取刚才输出的'A',这是核心误解。
  • 加法程序的正确示例:
    要是你想实现“输入两个字符,输出它们ASCII值之和对应的字符”,可以用这段代码:

    ,>,<[->+<]>.
    

    逻辑说明:

    1. ,:输入第一个字符,存在指针0
    2. >:指针移到1
    3. ,:输入第二个字符,存在指针1
    4. <:指针移回0
    5. [->+<]:循环将指针0的值加到指针1,直到指针0归零(完成加法操作)
    6. >:指针移到1
    7. .:输出相加结果对应的ASCII字符

内容的提问来源于stack exchange,提问作者WrathOfCon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:10:32