「C」一个brainfuck 语言解释器的混乱代码版本

看了这篇博客,我也决定写混乱代码。
结果成功了——乱得一塌糊涂。连我自己都看不懂。

#include<stdio.h>
int a[10000],*p,i;main(){p=a;*(p+3)++;while(*(p+3)){*(p+3)=0;*(p+5)=0;*(p+5)+=2;*(p+6)++;*(p+7)+=7;*(p+6)+=4**(p+7);*(p+8)+=2**(p+7);*(p+7)=0;*(p+7)+=2;*(p+9)++;*(p+10)++;*(p+11)+=5;*(p+12)+=2**(p+11);*(p+13)+=6**(p+11);*(p+11)=0;*(p+11)++;*(p+14)=fgetc(stdin);*(p+13)+=2;while(*(p+13)){while(*(p+13)){while(*(p+14)){*(p+14)--;p+=2;}while(*(p+13))p+=2;*(p+11)--;p-=2;}while(*(p+12))p-=1;*(p+11)++;while(*(p+13))p+=1;while(*(p+14)){*(p+13)++;*(p+14)--;while(*(p+14)){*(p+13)+=*(p+14);*(p+14)=0;p+=1;}while(*(p+13)){while(*(p+13)){*(p+13)=0;p-=1;}*(p+13)+=2;*(p+12)--;while(*(p+12)){*(p+11)+=9;*(p+11)-=*(p+12);*(p+12)=0;p+=2;}p+=1;}p-=1;}p-=1;}p+=9;}while(*(p+2)){while(*(p+2))p-=1;while(*(p+3)){while(*(p+3))p+=1;while(*(p+5))p+=2;*(p+5)++;while(*(p+5))p-=2;while(*(p+4))p-=1;*(p+3)++;*(p+5)--;p+=2;}while(*(p+4))p+=1;*(p+4)++;while(*(p+4)){*(p+4)--;p+=2;}while(*(p+0)){while(*(p+0))p-=2;while(*(p-1))p-=1;*(p-1)++;while(*(p-3)){*(p-3)++;*(p-2)++;*(p-4)--;while(*(p-4)){*(p-3)-=2;*(p-2)++;*(p-4)--;while(*(p-4)){*(p-3)++;*(p-2)+=*(p-4);*(p-4)=0;}}*(p-4)+=*(p-3);*(p-3)=0;p-=1;}*(p-3)+=2;*(p-1)-=2;while(*(p+0))p+=1;while(*(p+2))p+=2;p+=2;}while(*(p-2)){*(p+0)++;while(*(p-1)){while(*(p-1))p--;p--;}while(*(p+0)){while(*(p+0))p-=2;while(*(p-1))p--;*(p-1)++;while(*(p-1)){*(p-1)--;*(p-2)++;*(p+0)--;while(*(p+0)){*(p-2)++;*(p-1)+=2;*(p+0)--;while(*(p+0)){*(p-1)--;*(p-2)+=*(p+0);*(p+0)=0;}}*(p+0)+=*(p-1);*(p-1)=0;p++;}while(*(p+0))p++;p++;}while(*(p+1))p+=2;p+=5;}while(*(p-4)){*(p-2)++;*(p+0)++;p+=6;}while(*(p-6)){*(p-6)--;p+=8;}while(*(p-8)){fputc(*(p-7),stdout);p+=8;}while(*(p-10)){*(p-9)--;p+=6;}while(*(p-12)){*(p-11)=fgetc(stdin);p+=4;}while(*(p-14)){*(p-13)++;p+=2;}while(*(p-16)){*(p-16)++;p-=2;}p-=19;}}

使用方法:

代码!输入
++>++++++>+++++<+[>[->+<]<->++++++++++<]>'f>.<[-]>[-<++>]<----------------.---------------.+++++.<+++[-<++++++++++>]<.>>+.++++++++++.<<.>>+.------------.---.<<.>>---.+++.++++++++++++++.+.<<+.[-]++++++++++.
Brainfuck,是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf***,甚至被简称为BF。 【内含:BF解释器,BF解释器源码,BF写的几个小程序】 ReadMe: Brainfuck 编程语言 [图灵完全] [8条指令] 语法: > 指针加一 < 指针减一 + 指针指向的字节的值加一 - 指针指向的字节的值减一 . 输出指针指向的单元内容(ASCII码) , 输入内容到指针指向的单元(ASCII码) [ 如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处 ] 如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处 特性: 8KB 环状内存(初始化为0) <>操作不会越界 加减操作环状 +-操作不会溢出(0xFF + 为 0x00) 文件说明: bf.exe 解释器 Usage: bf [-options] source where options include: -b buffered input (default mode) 缓冲输入(按回车才输入,默认) -i not buffered input 无缓冲输入 -e not buffered input without echo 无缓冲输入且不回显 bf.cpp 解释器的源代码(纯C实现) hello.txt HelloWorld程序 up.txt 这个程序将你的输入(小写字母)转换为大写(回车结束) add.txt 这个程序对两个一位数做加法,并输出结果(如果结果也只有一位数的话)(例如:输入2+3) mul.txt 这个程序对两个一位数做乘法,并输出结果(如果结果也只有一位数的话)(例如:输入2*3) factor.txt 这个程序分解多位数的因子,并输出结果(例如:输入1000) numwarp.txt 这个程序输入 ()-./0123456789abcdef 和空格的字符串,显示很有趣的排列结果(例如:输入520 1314) prime.txt 这个程序输入一个多位整数,输出从1到这个整数间的所有素数(例如:输入100) quine.txt 这个程序输出源代码本身 [以上程序,基本上依靠回车确认]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值