This question already has answers here:
how many spaces are considered in \t
                                
                                    (4个答案)
                                
                        
                                4年前关闭。
            
                    
当我尝试运行此代码时,在第一行代码中,在Price之前显示2个TAB,我认为应该只有1个TAB(4字节)。

#include <stdio.h>
int main(void)
{
printf("Item\tUnit\tPurchase\n\tPrice\tDate\n");
printf("Item\tUnit\tPurchase\nPrice\tDate\n");

return 0;
}


结果:



实际上,这段代码源自教科书
 C Programming A Modern Approach 2nd Edition通过King K.N
Page 41 "Escape Sequences"部分。

我想知道国王K是否也使用月食。

最佳答案

制表符始终是一个字节,为ASCII,值为9。

它的解释是由文本渲染器定义的,而不是由语言标准,编译器,操作系统等定义的。通常,它将光标移至某些N的倍数。N的最常见选择是4或8,但这不是表示制表符占用4个字节。

一些文本编辑器用空格替换选项卡。插入制表符可能会导致文件大小增加4个字节,但是这些字节是空格,而不是制表符。

您不能依靠以任何特定方式设置格式的选项卡,除非您可以保证将使用特定配置的特定查看器来显示程序的输出。如果需要空格字符,请使用空格字符,不要将制表符用作快捷方式。

关于c - 关于“C编程现代方法第二版”中的printf\t,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29641458/

10-13 07:10