什么是转义字符
1.什么是转义字符
转义字符是一组特殊的字符,转义字符顾名思义就是:转变原来的意思。
比如:我们有一组字符,其中的n能完整的打印出来,如下:
#include <stdio.h>
int main()
{
printf("asnfd");
return 0;
}
运行结果:
当我们用上转义字符后:
#include <stdio.h>
int main()
{
printf("as\nfd");
return 0;
}
运行结果:
它们的结果并不一样,这是什么原因呢?
这是因为n的前面,放‘\’,\的使用字符n变成了换行符。
我们可以理解为\可以使特定的字符具有其他功能。
2.转义字符有哪些?
C语言中像这样的字符还有一些,具体如下:
\?:在书写多次问号时使用,防止被解析成三字母词,在新的编译器上没法验证
\':用于表示字符常量'
\";用于表示字符串内部的的双引号
\\;用于防转义的反斜杠。
\a:警报,鸣笛
\b:退格键,光标回退一个字符,但不能删除字符。
\f;换页符,光标翻到下一页,现代系统已经无法反映了,行为改成类似于\v
\n:换行符
\r:回车符,光标移动到同一行的开头
\t:制表符,光标移动到下一个水平制表位,通常是下一个8的倍数
\v:垂直分隔符,光标移到下一个垂直制表位,通常就是下一行的同一列
3.两类特殊的转义字符
下面两种转义字符可以理解为:字符的八进制和十六进制。
\ddd:ddd表示1~3个八进制的数字,如:\130,表示字符x
\xdd:dd表示两个十六进制的数字,如:\x30,表示字符0
\0;null字符,表示没有内容,\0就是\ddd这一类转义字符的一种用于字符串的结束标志,其Ascll码值为零。
感兴趣的朋友可以自己在集成环境上敲来看看。我就不一一演示了。
转义参考字符:https://zh.cppreference.com/w/c/language/escape
完