C语言中的制表符问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:27:12
制表符通常代表八个空格吧.但偶菜鸟遇到问题发现有时不一定是八个空格.以C语言中程序为例.
1.printf(" ab c\t de\rf\tg\n");
2.printf(" ab c de\rf\tg\n"); \*把\t换成八个空格*\
竟然出现了两种答案.尤其第一种得出的结果不像是把\t认为八个空格那么简单.求大虾解决!谢谢!
最接近8的倍数位置是什么位置?

“制表符代表八个空格”的说法不准确。制表符的作用是将光标移到最接近8的倍数的位置,使得后面的输出从此开始。换句话说,如果所有数据都紧跟在制表符后面输出,则这些数据只能从第9列、第17列、第25列......开始。

如果已经到了第1、2、3、...8列,则直接跳到第9列。
如果已经到了第9、10、11、...16列,则直接跳到第17列。
如果已经到了第17、18、19、...24列,则直接跳到第25列。
.............