【问题标题】:Why does every brainf*ck interpreter (except the web ones) show these characters? (♀♂)为什么每个brainf*ck 解释器(除了网络解释器)都显示这些字符? (♀♂)
【发布时间】:2022-01-19 15:10:56
【问题描述】:

所以我尝试用 C++ 做我自己的 Brainf*ck 解释器,在我尝试这个程序之前一切都很顺利:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++[.-]

它只是转到字母 C 并循环打印每个字符,直到转到 0。

我查看了其他程序,看看它们是否有相同的东西;一个解释 BF 的 Python 模块和一个也在 C++ 中的 GitHub 项目,每次其他两个程序以及我的程序都输出:

♀♂A@?>=

它不打印 C 和 B,而是打印这些符号:“♀♂”。我该如何解决?

【问题讨论】:

  • 这很神秘。请张贴这三位口译员的链接?

标签: character brainfuck


【解决方案1】:

您的程序将打印几个控制字符,包括序列“回车、换页、垂直制表符、换行”。回车会将光标移回行首,然后开始覆盖已经存在的字符,即“C”和“B”。您看到的符号显然是您的终端如何显示换页符和垂直制表符。

然后换行符会将光标移动到下一行,这就是为什么只有两个字符被覆盖。

【讨论】:

  • 抱歉这个评论晚了 3 天,但这肯定与我的解释器(和其他两个程序)显示内容的方式有关?
  • @JD470 它只与正在打印的字符以及终端如何显示它们有关。口译员无所谓。如果您使用任何其他编译器/解释器以任何其他语言编写相同的程序,您将获得相同的行为。
猜你喜欢
  • 2021-07-29
  • 2020-11-01
  • 1970-01-01
  • 2016-09-08
  • 2012-01-12
  • 2012-12-01
  • 2021-05-13
  • 2019-04-18
  • 1970-01-01
相关资源
最近更新 更多