什么是转义字符
今天我们来了解一下转义字符,转义字符顾名思义就是转变意思。
现在了解一下这些字符:
转义字符 释义
? 在书写连续多个问号时使用,防止他们被解析成三字母词
' 用于表示字符常量'
“ 用于表示一个字符串内部的双引号
\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。
a 警告字符,蜂鸣
b 退格符
f 进纸符
n 换行
r 回车
t 水平制表符
v 垂直制表符
ddd ddd表示1~3个八进制的数字。 如: 130 X
xdd dd表示2个十六进制数字。 如: x30 0
为什么要使用这些转义字符
我们来说一下三字母词(过去有,现在使用的编译器不使用它了,所以就演示不了了),如果我们要打印一些字符,比如??),在三字母词中它对应的符号是]
??) --> ]
??( --> [
表示的是你本来想要打印的是??) 这三个符号,但是在编译器看来,它们是],所以它会给你打印出],而不是??)
那么你就想要打印出 ??) 怎么办呢?
我们只需要把??)前加一个
即
??) //转义字符 ?
它可以让? 变成不是三字母词中的?,让它老老实实的就是一个?,所以编译器就不会打印出 ]
三字母词实在是太古老了,但是这个语法不能消失,所以我们一直都在使用转义字符
这里总结一下我们打印所用到的格式
//%d - 打印整型
//%c - 打印字符
//%s - 打印字符串
//%f - 打印float类型的数据
//%lf - 打印double类型的数据
//%zu - 打印sizeof的返回值
如果我们要打印一个字符,如下:
#include<stdio.h>
int main()
{
printf("%c",'''); //我们来打印'
return 0;
}
运行结果:
出现了错误

那么出错的原因是什么?
我们来看这 ''' ,printf识别的时候,识别第一个 ' ,然后再识别一个 ' ,哎,到这里就结束了,就像识别这个字符一样'w',只要识别到一对儿',打印就会结束,但是后面还有第三个 ' 是多余的,就出错了
那么,我们使用转义字符 ' ,让'不再是一对儿'w' 里面的',就像上面的??)一样
验证一下:
#include<stdio.h>
int main()
{
printf("%c",'''); //我们来打印'
return 0;
}
//转义字符 '
运行的结果:

再来继续了解转义字符
我们打印字符串有两个形式:
#include<stdio.h>
int main()
{
printf("%sn","abcdef"); //形式一
printf("abcdef"); //形式二
return 0;
}
第二种形式不能直接像下面这样打印:
printf(2123456)//错误的
如果我们在abcdef中间加一个
