使用一个“\t”代替一个tab区域
这是《The C Programming Language》中的一道题,其实只需要更改一下示例代码就完成了,但是小难点是如何显示“\t”,而不让它转义成四个空格(tab一般是四个空格)。
这时候问题就变成了如何直接显示“\t”,实验了一下,发现可以使用ASCII码的方式显示:
main() {
printf("\134t");
}
这时候运行会发现显示就是“\t”。134
是八进制的“\”的ASCII码。
为什么这样就可以显示了呢?
因为转义字符\t
是一个字符,只占一位,但是在文本显示“\t”其实是显示两个字符——“\”和“t”。不过由于输入的时候把二者放在一起会自动识别成转义字符,所以将其中一个字符变成ASCII码即可。
所以使用“\”加数字即可将ASCII数字变成对应的字符。不过需要注意的是,数字智能使用八进制和十六进制,十进制的不可用。而且十六进制数字之前需要加“x”,并且不能立马接下一个字符。