C——转义字符和ASCII码

使用一个“\t”代替一个tab区域

这是《The C Programming Language》中的一道题,其实只需要更改一下示例代码就完成了,但是小难点是如何显示“\t”,而不让它转义成四个空格(tab一般是四个空格)。
这时候问题就变成了如何直接显示“\t”,实验了一下,发现可以使用ASCII码的方式显示:

main() {
    printf("\134t");
}

这时候运行会发现显示就是“\t”。134是八进制的“\”的ASCII码。

为什么这样就可以显示了呢?
因为转义字符\t是一个字符,只占一位,但是在文本显示“\t”其实是显示两个字符——“\”和“t”。不过由于输入的时候把二者放在一起会自动识别成转义字符,所以将其中一个字符变成ASCII码即可。

所以使用“\”加数字即可将ASCII数字变成对应的字符。不过需要注意的是,数字智能使用八进制和十六进制,十进制的不可用。而且十六进制数字之前需要加“x”,并且不能立马接下一个字符。

上一篇:第八课常用的编码


下一篇:三、深入认识HTTP协议的特性和使用方法