这是做什么的?

Sma*_*ess 14 c c++

我正在查看http://home.hccnet.nl/hgmuller/umax4_8.c,一个C源文件.总的来说,它有:

N=-1;W(++N<121)
    printf("%c",N&8&&(N+=7)?10:".?+nkbrq?*?NKBRQ"[b[N]&15]);
Run Code Online (Sandbox Code Playgroud)

我不明白printf()在做什么,但不知怎的,它输出了一个棋盘到终端.

任何的想法?

Chr*_*ung 28

基本上这个:

for (n = 0; n < 121; ++n) {
    if (n & 8) {
        n += 7;
        putchar('\n');
    } else {
        putchar(".?+nkbrq?*?NKBRQ"[b[n] & 15]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做是在每8个板材之后打印换行符; 否则,打印出指示的板项目b[n].

  • @William:好笑.:-)实际上,我已经做了很多年的逆向工程; 这非常像RE,只是因为我没有直接处理目标代码.:-P (2认同)