【C语言】-4- 转义字符(学会求字符串长度)

转义字符

顾名思义,转义字符就是转变了字符的意思

  • 当我们在n字符前加上一个“\” ,即转变为\n,字符n的意思发生了转变
  • \n: 为换行

*C语言中规定的转义字符 6 *

转义字符 释义
\n 换行
\r 回车
\t 水平制表符
\ddd ddd表示1-3个八进制的数字 如 \130 --> X
\xdd dd表示两个十六进制的数字 如: \x30 —> 0
\ a 警告字符 触发蜂鸣
\ \ 用于表示一个反斜杠,防止他被转义成一个转义序列符
\ " 用于表示一个字符串内的双引号
\ ’ 用于表示字符常量 ’
\ ? 在书写连续多个问号中使用
\b 将光标从当前位置向前(左)移动一个字符(遇到\n或\r则停止移动),并从此位置开始输出后面的字符(空字符\0和换行符\n除外

解释一下\ddd 和\xdd
【C语言】-4- 转义字符(学会求字符串长度)_第1张图片

130(ddd) 表示的是一个八进制数
\130(\ddd) 表示的是八进制数对应的十进制数,其对应的ASCII码值代表的字符
130(八进制)=88 (十进制)88对应的ASCII码值代表的字符为大写字母X

\x30(\x30)是把十六进制数30对应的十进制数48,其对应的ASCII值代表的字符 为字符0

类型题:求字符串长度

[练习] :下面代码的输出结果是多少呢

printf("%d\n",strlen("c:\test\628\test.c"));

我们把它输出看一下结果,结果是14 ,你答对了吗?

【C语言】-4- 转义字符(学会求字符串长度)_第2张图片
那为什么字符串"c:\test\628\test.c"的长度是14呢?我们接着往下看
c:\test\628\test.c
首先:我们来看这个字符串中的“奸细”

  • \t : \t代表一个转义字符
  • \62: 代表一个字符(即上述的转义字符 \ddd)

可能会有人问既然是\ddd,为什么不是\628,而是\62呢?

  • 原因:\ddd中的ddd代表的是八进制数,八进制数中没有8这个数,所以很显然\62 相当于\062

找到了“奸细 ”,我们再来数一下
c:\test \628 \t est.c
(标黄的为一个字符)
这就简单了! 可以很清晰的看出 这个字符串的长度为14

注:\t:虽然代表的是四个空格(一个水平制表位),仅仅只是这个转义字符输出的结果为四个空格。其本意只表示一个字符

你可能感兴趣的:(C语言专栏,c语言)