您的位置:首页 > 其它

制表符不是简单的八个字符,它的意思是光标跳到8的倍数处——最近的,8的倍数,的位置

2009-11-04 20:11 323 查看
#include <iostream>
using namespace std;

void main()
{
int i=0;
cout<<"数据间隔一个制表符/t"<<endl;

for (i=0;i<3;i++)
{
cout<<"/t"<<"我随便写的数据";
}

cout<<endl;
/************************************************************************/
/* console输出结果:
数据间隔应该是一个制表符
我随便写的数据  我随便写的数据  我随便写的数据Press any key to continue                                                                     */
/************************************************************************/
/************************************************************************/
/* 分析:
输出的制表符的空格数,制表符作用不是简单的输出八个字符。它会根据输出数据的长度而改变,
或者根据上一行的长度而改变
*/
/************************************************************************/
//================看他作用的依据是否是 根据上一行的数据的格式
cout<<"data"<<" "<<"data"<<"         "<<"data"<<endl;

cout<<"/t"<<"data"<<'/t'<<"data"<<'/t'<<"data"<<'/t'<<"data";
cout<<endl;
cout<<"/t"<<"databcdefghijk"<<'/t'<<"databcdefghijk"<<'/t'<<"databcdefghijk"<<'/t'<<"databcdefghijk";
cout<<endl;

/************************************************************************/
/* console 输出结果
数据间隔一个制表符
我随便写的数据  我随便写的数据  我随便写的数据
data data         data
data    data    data    data
databcdefghijk  databcdefghijk  databcdefghijk  databcdefghijk
Press any key to continue*/
/************************************************************************/
/************************************************************************/
/* 分析:
输出的制表符的空格数,不因为上一行的格式而改变。判断上一行变化情况太多,太麻烦。
是否会因为输出地数据太长而变化?

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

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  include 百度
相关文章推荐