c语言中的'\t',按书上的算出来空格怎么不是8个呀?谭浩强的C上原题

来源:百度知道 编辑:UC知道 时间:2024/09/18 06:40:24
这是谭浩强的C程序设计上的原题,,小弟刚学,不明白
main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c%c\n",c4,c5);
}
书中P65的原题
我用的是下载的TUbor c2.0(天空那下载的)
------------------------------
我自己算的结果:
aabb________cc________abc
_______AN
但实际我在C上运行是:
aabb____cc______abc
_______AN
搞不明白第一行怎么有四个空格,后面又有六个。第二行它又是八个。。
大TIA帮帮我。。
还有BAIDU上我用"'\t'"也找不到我想看的东西。晕
_
_
我把printf("a%cb%c\tc%c\tabc\n",c1,c2,c3); 改成
printf("\ta%cb%c\tc%c\tabc\n",c1,c2,c3);
结果是aabb____cc______abc变成了
________aabb____cc______abc(前面有8个空格了)
不明白。。。。

\t不是空8个格,书上也从没说过是空8个格,\t的作用是跳到下一个制表符的位置,位置是固定的,两个制表符之间相距8.也就是说\t是跳到第九列(如果光标现在在1-8列),第17列(如果现在在第9-16列),以此类推...