运行环境
Visual Studio 2022 版本17. 7.4
转义字符是什么:
转义字符(Escape character)在C语言中对于控制符(如回车、换行等)与不可见字符,通过转义字符来表示。
C语言转义字符表:
转义字符 | 转义功能 | 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位十六进制所代表的字符 |
1.\0
空字符将后面的字符串删除
#include<stdio.h>
int main()
{
printf("Hello\0Ben");
}
运行结果
Hello
2.\a
响铃,输出\a时发出错误音效
#include<stdio.h>
int main()
{
printf("Hello\aBen");
}
运行结果
HelloBen
在视觉上不影响字符串输出显示,在听觉上运行到\a会发出错误音效。ps:可以运行听一听加深印象。
3.\b
退格(Backspace),类似于键盘上的左删除。起到删除左边1位字符的作用。
#include<stdio.h>
int main()
{
printf("Hello\bBen");
}
运行结果
HellBen
ps:可以多次使用\b,N个\b就像左删除N个字符。
4.\t
水平制表符(即横向跳格),作用跳到下一制表位。即\t前面还有N个满1个制表符(8个字符)就空N个字符。
#include<stdio.h>
int main()
{
printf("嗨!\tBen\tHi\n");
printf("123456781234567812345678");
}
嗨! Ben Hi
123456781234567812345678
ps:1个水平制表符有8个字符(英文、符号和数字看作1个字符,中文看作2个字符)
5.\n
回车换行,类似于键盘上的回车,作用是在\n后面另起一行。
#include<stdio.h>
int main()
{
printf("Hello\nBen");
}
运行结果
Hello
Ben
6.\v7.\f8.\r
没有搞懂,欢迎大佬指点
9.\"
双引号("),用于打出双引号"
#include<stdio.h>
int main()
{
printf("12\"34\"5678");
}
运行结果
12"34"5678
10.\'
单引号,用于打出'
#include<stdio.h>
int main()
{
printf("12\'34\'5678");
}
运行结果
12'34'5678
11.\?
问号(?),用于打出问号
#include<stdio.h>
int main()
{
printf("12\?34\?5678");
}
运行结果
12?34?5678
12,\\
反斜线,用于打出反斜线
#include<stdio.h>
int main()
{
printf("12\\34\\5678");
}
运行结果:
12\34\5678
13.\ddd
1~3位八进制所代表的字符 ,作用会将\替换成ASCII码八进制代表值
14.\xhhx
1~2位十六进制所代表的字符,作用将\替换成ASCII码十六进制代表值
#include<stdio.h>
int main()
{
printf("\67\n\x37");
}
运行结果
7
7
因为\67是八进制的67,在ASCII的对应值是7。同理\x37是十六进制的37,在ASCII的对应值是7。
在这里感谢各位的观看,欢迎大家评论区或私信探讨