标题:C语言的初学者 求教
只看楼主
starzq00123
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-7-20
 问题点数:0 回复次数:4 
C语言的初学者 求教
printf("12345678\t456\n");  为什么结果是 12345678       456
而printf("1234567\t456\n"); 结果却是1234567 456
上面那个为什么会往后推到第16位呢, 什么时候才依次往后推8位呢?      
搜索更多相关主题的帖子: C语言 456 
2012-07-20 14:54
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
TAB制表符的跳格是以空间的坐标为标准的,不是从你发出'\t'符位置开始计数的。仔细观察一下你两次实验的结果,按照我说的自己摸索一下规律,这个问题我以前讲过,不重复了,当然现在我也找不回来。

[ 本帖最后由 TonyDeng 于 2012-7-20 15:01 编辑 ]

授人以渔,不授人以鱼。
2012-07-20 15:00
starzq00123
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2012-7-20
得分:0 
我明这不是从\t的位置开始计数的 我是说 怎么判断是跳到第9个 还是第17个还是第 25个呢? 需要跳几个8呢
2012-07-20 15:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
无法判断,这是软制表符,而且不同的机器有不同的跳格,有些是8格,有些是4格,甚至是别的格数,你无法控制和判断——也不是不可以,前提是你要自己对前面的输出做计数,这是自找麻烦。通常编程中,不建议使用这个字符编排格式。

授人以渔,不授人以鱼。
2012-07-20 15:06
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
得分:0 
制表符一般等于 8 个空格的长度,当它的前面有单词的时候,和单词长度加起来刚好能被 8 整除。

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-20 15:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-373763-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.268838 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved