Brainfuck程序昨日可正常输出今日无内容,求故障原因
问题分析与解决
先明确Brainfuck的基础规则:+会将当前指针指向的单元格数值加1,初始状态下所有单元格数值都是0。你现在测试的代码++++++++++是10个+,计算后单元格数值是10,对应的ASCII字符是换行符(LF)——这个字符在多数环境里不会显示为可见内容,所以看起来像是空输出。
你说昨天这段代码输出'j',这明显不符合标准规则:'j'的ASCII码是106,需要连续写106个+才能得到这个字符。大概率是你昨天写错了代码(比如少打了96个+?),或者用了一个不符合标准的Brainfuck解释器(比如初始单元格值不是0,或者把+的增量设成了10,不过这种情况非常罕见)。
你换了多个在线运行网站结果一致,说明这些网站的解释器都是遵循标准规范的,问题出在你记忆里的代码和实际运行的代码不一致,或者昨天误判了输出结果。
内容的提问来源于stack exchange,提问作者PetitFrapo
相关产品推荐
相关产品推荐

