转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。
而C语言中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符。加上"\"后,就不是原本的字符意思,而是有了一些其他功能。
转义字符对照表
转义字符 | 意义 | ASCII码值(十进制) |
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符 | 092 |
\' | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 空字符(NUL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |
【注意】:
- 区分:
斜杠"/"
与 反斜杠"\"
,此处不可互换。 -
\xhh
十六进制转义不限制字符个数 '\x000000000000F'
== '\xF'
int main(){
printf("51CTO\n");
printf("1\t2\t3\t\n");
printf("G:\\CLion\\study\\51CTO_C\n");
printf("\110");
return 0;
}
第一行:展示了\n
的效果,换行。
第二行:展示了\t
的效果,水平制表。最后使用\n
,换行。
第三行:展示了\\
的效果,\\
会输出字符\
。最后使用\n
,换行。
第四行:展示了转义字符八进制的效果,(110)8=(72)10(八进制的110转换为十进制的72),正对应ASCII中的H
字符。