1 Star 0 Fork 0

1-5-5-3-4 / Brainfuck Interpreter

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
BF.c 1.34 KB
一键复制 编辑 原始数据 按行查看 历史
1-5-5-3-4 提交于 2023-03-22 14:26 . update BF.c.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
unsigned char l[99];
int main(int argc, char const *argv[])
{
unsigned i, d;
scanf("%d", &i);
for (unsigned char b[i], *bp, *p = &l[49]; ; putchar('\n'))
{
bp = b - 1, d = 0;
printf(">> ");
for (scanf("%s", b); *++bp; )
{
switch(*bp)
{
case '>':
p++;
break;
case '<':
p--;
break;
case '+':
*p == 255 ? *p = 0 : (*p)++;
break;
case '-':
*p ? (*p)-- : (*p = 255);
break;
case '[':
if (!*p)
{
for (; ; )
{
if (*++bp == ']')
{
if (d)
{
d--;
}
else
{
break;
}
}
if (*bp == '[')
{
d++;
}
}
}
break;
case ']':
for (; ; )
{
if (*bp-- == '[')
{
if (d)
{
d--;
}
else
{
break;
}
}
if (*bp == ']')
{
d++;
}
}
break;
case '.':
putchar(*p);
break;
case ',':
*p = getch();
break;
case 'c':
system("cls");
break;
case 'r':
for (i = 99; i; l[--i] = 0);
p = &l[49];
break;
case 'q':
goto q;
}
}
}
q:return 0;
}
C
1
https://gitee.com/Silver_15534/BF.git
git@gitee.com:Silver_15534/BF.git
Silver_15534
BF
Brainfuck Interpreter
master

搜索帮助