C中定义了一些字母前加"“来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
C语言中的转义字符如下图
若想表示’这个字符,当用’’'时,前两个’会成为一个转义字符,从而不能达到想要表达的意思,再比如”,若用"""这种形式表示,前两个"也会连成一个转义字符从而违背原来的意思,欲完成表达,可以用/’,/"来表达原来的意思。
上图中的转义字符不详细讲解,大致都与举例的用法一致。
以下详细说明最后两个转义字符
- /ddd表示的是八进制数字所代表的字符 例/130,将八进制数字130转化为10进制数字,过程如下: 1 3 0 8^2 8^1 8^0 结果为164+38+0*1=88,故八进制数字130转化为十进制后变成了88,而转化为十进制后,对应的是ASCII码值为88的字符,下图是ASCII 码图 故可知/130对应的字符为X
- /xhh表示的是十六进制数字代表的字符 例,/x21,将/x21转化为十进制数字,计算过程与八进制相似,这里就不再演示,转化后可得其十进制值为33,在ASCII 码表中找到对应的字符为!
转义字符在计算字符长度时只能算作一个字符长度
如c:\test\328\test.c的长度为14,计算过程如下
c : \t e s t \32 8 \t e s t . c
1 2 3 4 5 6 7 8 9 10 11 12 13 14
由于8进制数字只包含0-7,故\328不能算一个字符。
转义字符只需要记住其中常用的几个,有一些不常用甚至不会用到,在编程时也应该注意避开转义字符,避免不必要的歧义。
版权归原作者 WoLannnnn 所有, 如有侵权,请联系我们删除。