关于转义字符的提问
#include <iostream>
using namespace std;
int main()
{
long int sum;
int indiv,ten,hundred,thousand,ten_thousand,place;
cout<<"enter an integer(0_99999)"<<endl;
cin>>sum;
if(sum>9999)
place=5;
else if(sum>999)
place=4;
else if(sum>99)
place=3;
else if(sum>9)
place=2;
else
place=1;
cout<<"place="<<place<<endl;
indiv=sum%10;
ten=(sum/10)%10;
hundred=(sum/100)%10;
thousand=(sum/1000)%10;
ten_thousand=sum/10000;
cout<<"original order:";
switch(place)
{
case 5:cout<<indiv<<'\t'<<ten<<'\t'<<hundred<<'\t'<<thousand<<'\t'<<ten_thousand<<endl;
cout<<"reverse order:"<<ten_thousand<<'\t'<<thousand<<'\t'<<hundred<<'\t'<<ten<<'\t'<<indiv<<endl;
break;
case 4:cout<<indiv<<'\t'<<ten<<'\t'<<hundred<<'\t'<<thousand<<endl;
cout<<"reverse order:"<<thousand<<'\t'<<hundred<<'\t'<<ten<<'\t'<<indiv<<endl;
break;
case 3:cout<<indiv<<'\t'<<ten<<'\t'<<hundred<<endl;
cout<<"reverse order:"<<hundred<<'\t'<<ten<<'\t'<<indiv<<endl;
break;
case 2:cout<<indiv<<'\t'<<ten<<endl;
cout<<"reverse order:"<<ten<<'\t'<<indiv<<endl;
break;
case 1:cout<<indiv<<endl;
cout<<"reverse order:"<<indiv<<endl;
break;
}
return 0;
}
在这个程序里,输出后为什么第一个横向跳格只间隔了两个字符??其他的都是正常的四个字符?????cout<<"reverse 与下句的order:"<<ten_thousand<<'\t'<<thousand<<'\t'<<hundred<<'\t'<<ten<<'\t'<<indiv<<endl;
是接在一起的一句话。。。。。。。
[解决办法]
\t的意思是 8个字符内对齐.
每一个一连串由'\t'字符的开始的地方应该是8*n
[解决办法]
\t是控位符。代表了多少个字符位。