【C语言】转义字符(\a \b \t \v \f \r 等)

序号 转义字符 转义功能 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码表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_74102736/article/details/129342417