我知道\t
和\b
的含义
但是\b
之后的\t
会发生什么,以及当多个\b
和\t
合并时会发生什么。
看看这段代码,它包含\t
和\b
的各种组合:
printf("1\t1\t1\t1\n");
printf("---------------------------\n");
printf("1\t2\b\b3\n");
printf("\t\b1\n");
我得到了:
1 1 1 1
---------------------------
1 32
1
两个\b
的显示方式不同
结果令人困惑,我现有的知识根本无法解释
我最后不知道如何理解\t
和\b
。
答案 0 :(得分:2)
printf("\b")
向标准输出发送退格符。 printf("\t")
向标准输出发送制表符。从那里到环境会发生什么;你的程序无法真正控制它。
在典型的交互式输出设备上,退格键会将光标向左移动一列(不删除任何内容),并且制表符会将光标移动到下一个tabstop(也不会删除任何内容)。这应该解释你所看到的。
(实际上我获得的输出与你向我们展示的输出不同,这让我想到你正在使用的终端有不同的东西,或者你错误地转录了输出。)