C语言中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
汇总表如下:
1.\n
代表换行
无换行效果
在结尾换行效果
字符串中换行效果
2.\?
这里补充一个知识点:三字母词
有9个三字母词,三个字母合成另一个字符。 在以前的老式键盘中,类似“ [ ] { } ^| "等符号是没有的,当时为了解决这个问题,C语言中出现了所谓的“三字母词”,也就是在代码编译阶段用三个字符代替这些没有的符号。
例如:在屏幕上输出 (are you ok??)
printf("%s","(are you ok??)");
会输出 (are you ok]
此时就需要如下输入
printf("%s","(are you ok\??)");
书写多个问号时,防止被解析成三字母词。
三字母词是ANSI C定义的,不过现在很多编译器都不需要这个转义功能了,因为现在的键盘可以直接敲出这些字符,所以说你把它当成C语言的一个知识点去了解就行了。
3.\'
表示字符常量' 打印一个单引号
4.\"
表示字符串内部的双引号
会报错
5.\\
表示一个反斜杠,防止它被解释成一个转义序列符。
例如:要打印\t,但因为\t会被转义,可以通过\\t,让第二个\不再是转义字符的\,而是普通的、可打印的\。
6.\a
报警
7.\b
退格键,光标回退一个字符,但不删除字符。
例如:输出 ab\bcd ,输出的结果是acd
这一过程为:先进行到ab ,后面\b,光标回退到b前,输入c,这个c覆盖了b,再输出d,最终输出为acd。
8. 4个不常用转义字符 \f、\r、\t、\v
\f 换页符
\r 回车符
\t 制表符 Tab
\v 垂直分隔符
9.\ddd
ddd表示1~3个八进制数字 例如: '\130'
10.\xdd
dd表示2个十六进制的数字 例如: '\x89'
11.\0
null字符,代表没有内容,\0就是\ddd这类转义字符的一种,用于字符串的结束标志。
12. 计算有关转义字符的长度
例如:c:\test\121
注意:strlen是求字符串长度的函数,统计的是字符串中\0之前的字符的个数,不包含\0。
需包含头文件 string.h