这个问题可能被认为是在你学习编程的过程中,为了字节对齐,可能会在转义字符中使用t,但t到底要占用多少空间?
首先通过程序体验,然后总结
#include int main ()
{
printf(123456(t123(t45(n ) );
printf(12(t123456(t78(n ) );
printf------------n ';
printf(1234567(t123(t45(n ) );
printf(12(t123456(t78(n ) );
printf------------n ';
printf(12345678(t123(t45(n ) );
printf(12(t123456(t78(n ) );
printf------------n ';
printf(123456789(t123(t45(n ) );
printf(12(t123456(t78(n ) );
printf------------n ';
printf(123456781234(t123(t45(n ) );
printf(12(t123456(t78(n ) );
printf------------n ';
返回0;
}
从以上结果可以看出,t与空间对应的次数不一定,不是我们认为的4个空间或8个空间
那么有什么规律呢? 举出简单的公式
假设num=|n-8|%8。 其中n表示t前面的字符所占的位置。 (上一个字符也可能是%d、d等的转换说明。
那么,t对应的空间数spaceNum为
所以t我发现前面是123456的时候,后面有两个空间; t如果前面是1234567,则后面有一个空间;如果前面正好是12345678,则后面有八个空间
如果前面为123456781234,则后面的空格数为|12-8|%8=4