文章目录

  • 什么是转义字符
    • 1. \0
    • 2. \a
    • 3. \b
    • 4. \t
    • 5. \n
    • 6. \v
    • 7. \f
    • 8. \r
    • 9. \\”
    • 10. \\’
    • 11. \\?
    • 12. \\\
    • 13. \ddd
    • 14. \xhh
    • ASCII码表
序号转义字符转义功能ASCII码值
1\0空字符0
2\a响铃7
3\b退格(Backspace)8
4\t水平制表符(即横向跳格)9
5\n回车换行(Enter)10
6\v竖向跳格11
7\f换页12
8\r回车13
9\”双引号(”)34
10\’单引号(‘’)39
11\?问号(?)63
12\\反斜线字符(\)92
13\ddd1~3位八进制所代表的字符
14\xhh1~2位十六进制所代表的字符

什么是转义字符

它用来表示控制符(如回车、换行等)与不可见字符,作用是改变其后的字符或ASCII码值的原有意义,转义为另外的含义

1. \0

空字符,常被系统自动加在每个字符串的尾部,作为字符串的结束标志,占用一个字节的内存空间。

例如:

#includeint main{printf("abcd\0efg");return 0;}

执行结果:

abcd

2. \a

响铃,输出\a时会有错误音效。

可以执行下列代码尝试听一下:

#includeint main(){printf("\a");return 0;}

3. \b

退格(Backspace),虽然被称为Backspace,但功能与键盘上的向左删除不一定一样

(由于目前我只用下面两个编译器,并不清楚其他编译器中\b的功能)
VS2022 中:向左删除
见下:

解释:将3456直接删除。

Dev-C++ 中:移动光标
见下:

解释:在6之后将光标移到了3的位置,后面的ABC将345覆盖了。
注: 在这两种编译器中\b对\n不起作用
VS2022

Dev-C++

解释:若\b对\n起作用,就不会换行。

4. \t

水平制表符,即横向跳格,跳到下一制表位,可把每8个字符看作一个水平制表符,即\t前面字符还差几个满8个字符就空几个字符的位置

如下:

5. \n

回车换行(Enter)

6. \v

垂直制表符,即竖向跳格

#includeint main(){printf("1234\v5678");return 0;}

输出结果:

12345678

但在VS2022中:

7. \f

走纸符,换页,将当前位置光标移到下一页开头,在控制台中无法体现出作用,在打印走纸换页时可以使用,它能将后面的文体打印到一张新纸

在控制台:

8. \r

回车,将光标位置移到首位

如下:

解释:\r将光标位置移到首位后,ab依次将12覆盖

9. \”

指双引号 “

10. \’

指单引号 ’

11. \” />12. \\

指 \

13. \ddd

1~3位八进制所代表的字符

例如:

解释:八进制101对应十进制为65,对应ASCII码为 A

14. \xhh

hh指两位十六进制所代表的字符,使用前要加\x

例如:

解释:十六进制数字41对应十进制为65,对应ASCII码为 A

ASCII码表