我在Brainfuck尝试了这个hello world程序。如何多次打印文本? 这是我的代码:
+++++++[>++++++++++ <- ] >++.>++++++[>++++++++++ <- ] >+++++++++.>+++++++[>++++++++++ <- ] >++++++..>+++++++[>++++++++++ <- ] >+++++++++.>+++[>++++++++++ <-]>++. >++++++++[>++++++++++<-]>+++++++.>+++++++[>++++++++++<-] >+++++++++.>++++++++[>++++++++++ <-]>++.>+++++++[>++++++++++ <- ] >++++++.>++++++[>++++++++++ <-]>++++++++.>+++[>++++++++++<-]>++.>+++[>++++++++++<-]>+++.>+++[>++++++++++<-]>+++.
答案 0 :(得分:6)
让我们想出一个5个字符长的单词,比如&#34;你好&#34;。
因此,如果您希望它打印这5个字符3次,您可以使用这样的代码:
,>,>,>,>,>+++[<<<<<.>.>.>.>.>-]
让我解释一下代码:
代码的第一部分是输入部分:
,>,>,>,>,
然后初始化一个包含要打印3次信息的变量。
>+++
然后你有一个回到开头的循环,打印出这5个字符,然后转到变量并递减它。
[<<<<< //goes back
.>.>.>.>. //print out
>-] //decrement
如果您有了这个想法,那么您可以通过以下方式轻松改进代码:在其中添加更多循环,我只是想向您展示一个简单的想法。
答案 1 :(得分:4)
更一般的答案如下。
假设您要打印5次文本(我们称之为计数器)
+++++ >
然后导入字符,直到给出\ n(= 10)。
----- -----[+++++ +++++ >, ----- -----]
现在,数组看起来像&lt; counter,0,string&gt; 。最后,我们将指针放在计数器。
<[<]<
我们多次打印字符串完成。
[ while (counter) {
>>[.>] print string
<[<]<- counter--
] }