当我尝试运行此代码时,它在第一行代码中的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
第41节"Escape Sequences"
。
我想知道K.N国王是否也使用了日食。
答案 0 :(得分:1)
制表符始终是一个字节,ASCII格式,值为9.
它的解释由文本渲染器定义,而不是语言标准,编译器,操作系统等。通常它将光标前进到某个N的倍数.N的最常见选择是4或8,但是并不意味着该选项卡需要4个字节。
一些文本编辑器用空格替换制表符。插入选项卡可能会导致文件大小增加4个字节,但这些字节是空格,而不是制表符。
您不能依赖以任何特定方式格式化的标签,除非您可以保证在特定配置中使用特定查看器显示程序的输出。如果您需要空格字符,请使用空格字符,不要使用制表符作为快捷方式。