以下代码片段来自维基百科,是似乎是标准 Hello World 的序言!Brainfuck中的程序...
1. +++++ +++++ initialize counter (cell #0) to 10
2. [ use loop to set the next four cells to 70/100/30/10
3. > +++++ ++ add 7 to cell #1
4. > +++++ +++++ add 10 to cell #2
5. > +++ add 3 to cell #3
6. > + add 1 to cell #4
7. <<<< - decrement counter (cell #0)
8. ]
我了解这里发生的事情的要点,但我不明白的是第 3 行到第 6 行发生的事情的机制。如果+++++ +++++
将 10 中的值加 10 a[0]
,为什么将指针递增 1 并执行++*ptr
7 次会导致a[1]
等于70?不应该a[1] = 7
吗?似乎a[1]
通过a[4]
被神奇地增加了十倍,我不明白为什么。