-1

我知道是什么\t意思\b
但是当 a\b在 a 之后\t会发生什么,以及当 multiple\b\tcombine 会发生什么。
看这段代码,它包含了\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到底。

4

1 回答 1

2

printf("\b")将退格字符发送到标准输出。printf("\t")将制表符发送到标准输出。从那里到环境会发生什么;您的程序无法真正控制它。

在典型的交互式输出设备上,退格键会将光标向左移动一列(不删除任何内容),而制表符会将光标移动到下一个制表位(同样不删除任何内容)。这应该可以解释你所看到的。

(实际上,我得到的输出与您向我们展示的不同,这让我觉得您使用的终端有些不同,或者您的输出转录不正确。)

于 2017-03-12T02:52:02.683 回答