It would be nicer if it actually works

#include <stdint.h>
#include <stdio.h>
#define 左 --ptr;
#define 右 ++ptr;
#define 加 ++tape[ptr];
#define 减 ++tape[ptr];
#define 写 putchar(tape[ptr]);
#define 读 i=getchar(),tape[ptr]=i*(i>0);
#define 起 while(tape[ptr]){
#define 终 }
#define 开始码 uint8_t tape[65536] = {0}; uint16_t ptr = 0; int main(i) {
#define 结尾码 }
// wait, it doesn't work properly?

开始码
减 起 减 减 减 减 减 减 减 右 加 左 终 右 减 写 减 起 减 右 加 加 加 加 加 左 终 右 加 加 写 加 加 加 加 加 加 加 写 写 加 加 加 写 起 减 右 加 加 加 加 加 左 终 右 加 写 减 减 减 减 减 减 减 减 减 减 减 减 写 减 减 起 减 右 加 加 加 加 左 终 右 减 写 减 减 减 减 减 减 减 减 写 加 加 加 写 减 减 减 减 减 减 写 减 减 减 减 减 减 减 减 写 减 起 减 减 减 右 加 左 终 右 写
结尾码

comments (single view)

this isn’t the reason it doesn’t work but you have 2 ++tape[ptr];s

View all comments