关于转义字符的一些知识
#include<stdio.h> | ||
3 | int main() | |
4 | { | |
5 | printf("snbhh\njjbxjb");//会发现\n并不能被正确打印,因为它的意思被转义了 | |
6 | //‘\?’用于防止连续的?被转义,防止三字母词(现在2019已经不会了 | |
7 | //以前连续打印“??)”时会被转义为一个‘】’ | |
8 | //此时就可以打印“\?\?)”此时即可正确打印出‘??)’ | |
9 | printf("%c\n", 'a');//此时会打印一个a | |
10 | //printf("%c\n",''');//此时会报错,因为他认为‘落单了,此时可以加\'来让他作为一个普通的’ | |
11 | printf("%c\n", '\''); | |
12 | ||
13 | ||
14 | //关于转义字符 | |
15 | //\a 响铃(BEL) 007 | |
16 | //\b 退格(BS) ,将当前位置移到前一列 008 | |
17 | //\f 换页(FF),将当前位置移到下页开头 012 | |
18 | //\n 换行(LF) ,将当前位置移到下一行开头 010 | |
19 | //\r 回车(CR) ,将当前位置移到本行开头 013 | |
20 | //\t 水平制表(HT) 009 | |
21 | //\v 垂直制表(VT) 011 | |
22 | //\' 单引号 039 | |
23 | //\" 双引号 034 | |
24 | //\\ 反斜杠 092 | |
25 | ||
26 | ||
27 | ||
28 | printf("c:text\texe.c");//此时\t会被转义,不能正确打印 | |
29 | printf("c:text\\texe.c");//加入\解除转义 | |
30 | printf("%c\n", '\130');//会打印出X//130会先由八进制转化成十进制然后对应转义字符的值打印 | |
31 | ||
32 | return 0; | |
33 | }//\n和\t是最常用的两个转义字符: | |
34 | //\n用来换行,让文本从下一行的开头输出,前面的章节中已经多次使用; | |
35 | //\t用来占位,一般相当于四个空格,或者 tab 键的功能。 | |
36 | //转义字符的初衷是用于 ASCII 编码,所以它的取值范围有限: | |
37 | ||
38 | ||
39 | //八进制形式的转义字符最多后跟三个数字,也即\ddd,最大取值是\177; | |
40 | // 斜杠后三个数字就是八进制,最大为177,八进制里没有8,所以\328是两个字符,是\32和8两个字符 | |
41 | //十六进制形式的转义字符最多后跟两个数字,也即\xdd,最大取值是\7f | |
42 | //\x后面两个数字是十六进制 | |
43 | ||
44 | ||
45 | ||
46 | //单引号、双引号、反斜杠是特殊的字符,不能直接表示: | |
47 | //单引号是字符类型的开头和结尾,要使用\'表示,也即'\''; | |
48 | //双引号是字符串的开头和结尾,要使用\"表示,也即"abc\"123"; | |
49 | //反斜杠是转义字符的开头,要使用\\表示,也即'\\',或者"abc\\123" |