【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\ddd1~3位八进制所代表的字符
14\xhh1~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码表

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

C语言中的转义字符在字符串中占用一个字符的位置。例如,转义字符"\t"表示一个制表符,它在字符串中只占用一个字符的位置。同样地,转义字符"\n"表示一个换行符,也只占用一个字符的位置。所以,字符串"c:\test\628\test.c"的长度是14,因为其中包含了转义字符"\t"和转义字符"\62"。这两个转义字符分别占用了一个字符的位置。\[2\]\[3\] #### 引用[.reference_title] - *1* [特殊转义字符的长度判断C语言](https://blog.csdn.net/qq_40641046/article/details/109495247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C语言中的转义字符 4.8](https://blog.csdn.net/aaaaaaaWoLan/article/details/115519147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【C语言】-4- 转义字符(学会求字符串长度)](https://blog.csdn.net/weixin_52411749/article/details/123980478)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值