文章目录
序号 | 转义字符 | 转义功能 | 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 | \ddd | 1~3位八进制所代表的字符 | |
14 | \xhh | 1~2位十六进制所代表的字符 |
什么是转义字符
它用来表示控制符(如回车、换行等)与不可见字符,作用是改变其后的字符或ASCII码值的原有意义,转义为另外的含义
1. \0
空字符,常被系统自动加在每个字符串的尾部,作为字符串的结束标志,占用一个字节的内存空间。
例如:
#include<stdio.h>
int main
{
printf("abcd\0efg");
return 0;
}
执行结果:
abcd
2. \a
响铃,输出\a时会有错误音效。
可以执行下列代码尝试听一下:
#include<stdio.h>
int 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
垂直制表符,即竖向跳格
#include<stdio.h>
int main()
{
printf("1234\v5678");
return 0;
}
输出结果:
1234
5678
但在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码表