一、什么是转义字符?
转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加”\”来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。简单来说就是在一些字符前加 “\” 使它具有其他意义。
二、转义字符及作用
转义字符
字 符 值
输 出 结 果
\’
一个单撇号(’)
输出单撇号字符’
\”
一个双撇号(”)
输出双撇号字符”
\?
一个人问号(?)
输出问号字符?
\\
一个反斜杠(\)
输出反斜杠字符\
\a
警告(alert)
产生声音或视觉信号
\b
退格(backspace)
将光标当前位置后退一个字符
\f
换页(from feed)
将光标当前位置移到下一页的开头
\n
换行
将光标当前位置移到下一行的开头
\r
回车(carriagereturn)
将光标当前位置移到本行的开头
\t
水平制表符
将光标当前位置移到下一个Tab位置
\v
垂直制表符
将光标当前位置移到下一个垂直表对齐点
\o、\oo、\ooo其中o表示一个八进制数字
与该八进制码对应的ASCII字符
与该八进制码对应的字符
\xh[h…]其中h代表一个十六进制数字
与该十六进制码对应的ASCII字符
与该十六进制码对应的字符
三、为什么使用转义字符?
如果我们要打印一个字符’,如下:
#include
int main()
{
printf("%c",'''); //我们来打印'
return 0;
}
出现了错误运行结果:
那么出错的原因是什么?
我们来看这 ''' ,printf识别的时候,识别第一个 ' ,然后再识别一个 ' ,哎,到这里就结束了,就像识别这个字符一样'w',只要识别到一对儿',打印就会结束,但是后面还有第三个 ' 是多余的,就出了错误。
那么,我们使用转义字符 \' ,让'不再是一对儿'w' 里面的',就像上面的??)一样验证一下:
#include
int main()
{
printf("%c",'\''); //我们来打印'
return 0;
}//转义字符 \'
运行的结果:
再来继续了解转义字符
我们打印字符串有两个形式:
#include
int main()
{
printf("%s\n","abcdef"); //形式一
printf("abcdef"); //形式二
return 0;
}
第二种形式不能直接像下面这样打印:
printf(2123456)//错误的
如果我们在abcdef中间加一个\0,但因为它代表的是换行,所以我们需要让它失效,让\0就是\0,没有其他含义,只需要这样就可以了:
#include
int main()
{
printf("%s\n","abc\\0def"); //形式一
printf("abc\\0def"); //形式二
return 0;
}//转义字符 \\
上面那个表里的转义字符都是这样子来使用的。