懂C语音的来看个教材的课后题

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:26:12
【谭浩强著的C程序设计第三版,习题3.6】
#include<stdio.h>
void main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c%c\n",c4,c5);
}
结果如图,我想知道为什么第二行A前面没有空格?‘\t’不是跳8个空格吗?

\b是退格键,\t又被删掉了

这里把\t看成一个字符,\b退格就是光标前移一个位置,会把\t消除掉
相当于printf("%c%c\n",c4,c5);

#include<stdio.h>
void main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t%c%c\n",c4,c5);
}
printf("\t\b%c%c\n",c4,c5);/b表示退格键,\t\b就互相抵消了,又回到开始位置