初识C语言==>转义字符初见

前排提醒,这不算是转义字符的教学
算是个我个人学习的记录
我们先来看下面这个代码

#include <stdio.h>
int main()
{
	printf("c:\test\32\test.m");
	return 0;
}

问:printf中的c:\test\32\test.m包含几个字符?

大家可以先思考一下这个问题
我们直接数的话,会得出这里面包括了17个字符
如果真的有那么简单也不需要这篇博客了对吧

这里就要引入转义字符的概念了

常用的转义字符有以下几个
image.png
比较常规的我们可以看表格中的定义

需要注意的是"\?"这个是用于连续问号的情况
??+(某个符号) 称为三字母词
如:??) 显示出来是 ]
\?就让?不被识别为三字母词,而显示问号这个字符
同时\\也是让“\”这个字符能以本身形式出现而不是被识别成转义字符
同时我们要知道的是

“\0”这个转义字符是字符串的结束,在我们输入字符串的时候后面会默认跟着一个隐藏的“\0” (如图)

我们使用strlen计算字符串abc的长度的时候需要在后面-1
同时“\0”也会有自己对应的下标3
image.png

说会我们的c:\test\32\test.m
通过查表,我们能轻易地发现这里面出现了两个"\t"转义字符
每个转义字符在数字符长度的时候是记作一个的
除了这两个“\t”,这里还藏有另外一个转义字符“\32”
“\32"这个转义字符正是图表中的”\ddd"格式的转义字符
代表32是一个八进制数字

而\32在正常代码中 是指

32作为八进制数字对应的十进制数字,在ASCII表上对应的字符
如:八进制32是十进制的26
那么\32就代表十进制数26在ASCII码表上对应的符号
查表可知26是替代符号
image.png

当然,在这里我们的\32只是一个我们想要打印出来的字符,并没有实际作用

所以答案就很明朗了。

int main()
{
	printf("c:\test\32\test.m");
	return 0;
}

在这个代码中,(“c:\test\32\test.m”)一共包含的字符数量是13
image.png

本篇不走心博客到这里也结束了

  • 介绍了部分转义字符的作用
  • 明确在计算字符数量的时候转义字符应视为同一个字符计数

感谢你看到最后
还是求dalao无情指正啊!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕雪华年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值