【C语言】转义字符
前排提醒,这不算是转义字符的教学
算是个我个人学习的记录
我们先来看下面这个代码
1 |
|
问:printf中的
c:\test\32\test.m
包含几个字符?
大家可以先思考一下这个问题
我们直接数的话,会得出这里面包括了17个字符如果真的有那么简单也不需要这篇博客了对吧
这里就要引入转义字符的概念了
常用的转义字符有以下几个
比较常规的我们可以看表格中的定义
需要注意的是”\?”这个是用于连续问号的情况
??+(某个符号) 称为三字母词
如:??) 显示出来是 ]
\?就让?不被识别为三字母词,而显示问号这个字符
同时\\也是让“\”这个字符能以本身形式出现而不是被识别成转义字符
同时我们要知道的是
“\0”这个转义字符是字符串的结束,在我们输入字符串的时候后面会默认跟着一个隐藏的“\0” (如图)
我们使用strlen计算字符串abc的长度的时候需要在后面-1
同时“\0”也会有自己对应的下标3
说回我们的c:\test\32\test.m
通过查表,我们能轻易地发现这里面出现了两个\t
转义字符
每个转义字符在数字符长度的时候是记作一个的
除了这两个\t
,这里还藏有另外一个转义字符\32
\32
这个转义字符正是图表中的\ddd
格式的转义字符
代表32是一个八进制数字
而\32在正常代码中 是指
32作为八进制数字对应的十进制数字,在ASCII表上对应的字符。
如:八进制32是十进制的26;
那么\32
就代表十进制数26在ASCII码表上对应的符号,查表可知26是替代符号
当然,在这里我们的\32
只是一个我们想要打印出来的字符,并没有实际作用
所以答案就很明朗了。
1 | int main() |
在这个代码中,(“c:\test\32\test.m
“)一共包含的字符数量是13
本篇不走心博客到这里也结束了
- 介绍了部分转义字符的作用
- 明确在计算字符数量的时候转义字符应视为同一个字符计数
感谢你看到最后
还是求dalao无情指正啊!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 慕雪的寒舍!
评论