C语言转义字符

1年前 (2024-04-27)
字符集(Character Set)为每个字符分配了的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)

转义字符以\或者\x开头,以\开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十六进制。

字符 1、2、3、a、b、c 对应的 ASCII 码的八进制形式分别是 61、62、63、141、142、143,十六进制形式分别是 31、32、33、61、62、63。下面的例子演示了转义字符的用法:

char a = '\61'; //字符1

char b = '\141'; //字符a

char c = '\x31'; //字符1

char d = '\x61'; //字符a

char *str1 = "\x31\x32\x33\x61\x62\x63"; //字符串"123abc"

char *str2 = "\61\62\63\141\142\143"; //字符串"123abc"

char *str3 = "The string is: \61\62\63\x61\x62\x63" //混用八进制和十六进制形式

转义字符既可以用于单个字符,也可以用于字符串,并且一个字符串中可以同时使用八进制形式和十六进制形式。

一个完整的例子:

#include <stdio.h>

int main(){

puts("\x68\164\164\x70://c.biancheng.\x6e\145\x74");

return 0;

}

运行结果:
http://c.biancheng网站站点" rel="nofollow" />

#include <stdio.h>

int main(){

puts("C\tC++\tJava\n\"C\" first appeared!");

return 0;

}

运行结果:
C    C++    Java
"C" first appeared!