1.什么是转义字符呢?
转义字符是一组特殊的字符
转义字符顾名思义:转变原来的意思的字符
例如:‘n’ 原本就是简单字符 n 如果加上/
那么/n转变换行的意思
2.那么转义字符有那些呢?
- \?:在书写连续多个问号时使用,防止他们被解析成三字母词,在新编译器上无法验证
三字母词
??( --[
??) --]
- \’ :表示字符常量’
- \” : 表示双引号”
- \\:用于表示一个反斜杠,防止它被解释为一个转义序列符。
- \a:警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生。\b:退格键,光标回退一个字符,但不删除字符。
- \f:换页符,光标移到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\n:换行符。
- r:回车符,光标移到同一行的开头。
- \t:制表符,光标移到下一个水平制表位,通常是下一个4/8的倍数。\v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。
-
\v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。
-
下列是两种易错专义字符
- \ddd:ddd表示1~3个八进制的数字。如 \130表示字符X
- 一定要加\
- 不然结果不一样 如图:
- \xdd: dd表示2个十六进制数字。 如:\x30 表示字符0
\0: null 字符,代表没有内容,\0就是\ddd这类转义字符的一种,用于字符串的结术 ASCII码值是0.
3.字符串和\0的作用分别是什么?
C语言中如何表示字符串呢?使用双引号括起中的一串字符就被称为字符串,如:"abcdef”,是一个字符串。
字符串的打印格式可以使用%s来指定,也可以直接打印如下:
C言字符串中一个特殊的知识,就是在字符串的末尾隐藏放着一个\0字符,这个字符是字符串吉束标志。
对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏一个转义字符,\0是字符串的结束标志。所以我们在使用库函数printf()打印字符串或者 strlen()计算字符串长度的时候,遇到\的时候就自动停止了。
C语言中也可以把一个字符串放在一个字符数组中,我们在这里利用下面的代码验证一下\0功能
因为数组arr1无\0,故系统在abc后面继续生成随便值,无法停止
如果arr1加上\0
如图:
结果:
新手易错点:
arr1中各字符之间的 ,号容易忘掉
如图为错误示范
标签:字符,一个,细节,转义字符,字符串,光标,ddd From: https://blog.csdn.net/2301_81697587/article/details/139332854