这是做什么的?

时间:2010-12-16 04:53:29

标签: c++ c

我正在查看{C}源文件http://home.hccnet.nl/h.g.muller/umax4_8.c。总的来说,它有:

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

我不明白printf()正在做什么,但不知何故它将棋盘输出到终端。

有什么想法吗?

1 个答案:

答案 0 :(得分:28)

基本上这个:

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

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