这个程序为什么会输出这些

img

\t \n是tab和换行的转义符,具体是要输出 什么内容?

\t是TAB键,会空8个位置
\r是回车键,只回车不换行,回车是回到行的起点,所以第一个printf中\r后是f,即先回到行首,再输出f,这样f就把a给覆盖啦
\n是换行,只是换行不回车。但你下一行还没有呢,自然也会指向行首。
\b是退格键,也就是会删除前面输入的一个字符,所以把前面的L字符就删除啦

\r是回车,这是历史遗留问题,简单来说就是把输出的位置移动到当前行的第一个字符,所以\r后面的f覆盖了原来的a

\t 光标移到下一个制表位(8位表示一个制表位)
\r 回车(光标移到行首)
\n 回车换行(光标移到下一行行首)
其余原样输出!
若程序为:printf("ab c\tde\rf\n");
结果是:fb c de
光标在下一行显示
由于\r的作用,光标移到行首,输出f,代替了字母a.