#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列。 ............. */ /************************************************************************/ }