一.啥是转义字符?
1.通俗理解:就是使用一个特定的字符,使得原本的句子,词语意思改变,这就是转义字符
2.转义字符的形式:一般是\加上其他字符的组合形式
二.转义字符作用是啥?
1.某些字符有特殊含义,用\连接使其失去特殊的含义:
\' \" \\
2. 某些字符没有特殊含义,用\连接使其具有特殊的含义:
\a \b \n \ddd \xdd \t
三.具体实例分析
1.\'
如下代码可以让我们轻松输出字符d
printf("%c",'d');
如果我们想输出字符 ' 的时候,我们会尝试输入
printf("%c",''');
但我们会发现出现了报错,原因是系统将三个单引号中的前两个单引号视作一起,会导致最后多出来一个单引号,且没有字符的输入,所以我们加入了\,使得单引号只有一般的字符的含义
printf("%c",'\'');
此时,我们就可以输出单引号了。
2.\"
与单引号类似,当我们想输入双引号时,如果这样输入
printf(""");
系统仍然报错,还是前两个双引号被视为了一个,且中间无字符,在后面加了一个单独的双引号。
因此,我们加入了\,使其只代表了字符的含义
3.\\
当我们在代码中尝试输入一个地址,例如找一个叫test.c的文件,我们复制过来的地址是这样的C:\test.c,我们打印后会发现,结果并不是我们所想要的地址,这是因为此时\与t进行了连接,使其具有了其他的意思,如果我们想要让\失去特殊的含义,只需要在其前面再加上一个\即可
我们试图打印出test.c的位置:
printf("C:\\test.c");
这样就可以了。
4.\a
含义是报警或闪烁,当我们打印的时候,电脑系统会发出叮的声音
5.\b
代表回退一格的意思,例如我们打印这个
printf("abc\bde");
输出的结果是:abde
输出的过程是这样的:a--->ab---->abc
遇到了\b,回退一格,此时类似于鼠标的光标位于b和c的中间
然后d顶替了c的位置,最后再输出了e
6.\n
换行的意思,例如我们有如下代码
printf("abc\nde");
输出的结果是
abc
de
7.\ddd
这里的d并不是d这个字母,而是代表一个数字,这里的ddd代表一个八进制的数字,而打印出来的是所对应的数字的ASCII码,对于八进制数字的计算,下面我们会举例说明:
例如\120 所对应的结果就是1*8²+2*8+0*1=64+16=90
然后会打印出90所对应的ASCII码
8.xdd
x所代表的是使用的是十六进制,后面的dd所代表的是十六进制的数字,计算方法与八进制类似
9.\0
实际是\ddd的特殊应用,0所对应的是NULL,通常用在字符串的结尾用于终止字符串,但是不会打印出任何的结果
10.\t
相当于我们在输入中按下一个tab,例如我们输入代码
printf("ab\tcde\t\fghi")
它输出的结果是ab______cde_____fghi,我们会发现空的格数是不相同的,实际上,\t总共可以往后退8格,但是会计算之前我们写的,这也算是为什么在我们上面的\\中发现我们写的地址出错的原因
最后,感谢大家的观看。