转义字符是C语言中的一种具有特殊意义的字符,是以‘\‘为开头,后面跟一个字符或1-3位八进制或1-2位十六进制来表示的,意义是跟原来字符不同的。如下表:
可以运行以下代码看效果
#include <stdio.h>
#include <stdlib.h>
void main()
{
printf("\150");//\150是\ddd形式的转义符,150是对应ASCII码的八进制数,转为十进制也是104,在ASCII码表中对应的字符是h,所以输出是h
printf("\n");//输出换行
printf("\x68");//\x68是\xhh形式的转义符,68是对应ASCII码的十六进制数,转为十进制也是104,在ASCII码表中对应的字符是h,所以输出是h
printf("\n");
putchar(104);//单个字符输出,104是对应ASCII码的十进制数,在ASCII码表中对应的字符是h,所以输出是h
printf("\n");
putchar('a');//单个字符输出,输出a
printf("\n");
putchar('\x68');//单个字符输出,\x68是\xhh形式的转义符,68是对应ASCII码的十六进制数,转为十进制也是104,在ASCII码表中对应的字符是h,所以输出是h
system("pause");
}
像代码中“\150,\n,\x68"都属于转义字符,“a,104"前面没有“\",它们不是转义字符。"\ddd,\xhh"一个是八进制转义符、一个是十六进制转义符,它们所显示的字符能在ASCII码表中找到对应的字符。如下表