什么是转义字符?转义字符有哪些?为什么使用转义字符?

一、什么是转义字符?

     转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。简单来说就是在一些字符前加 “\” 使它具有其他意义。

二、转义字符及作用 

    转义字符          字  符  值                     输 出 结 果
\'一个单撇号(')输出单撇号字符'
\''一个双撇号(")输出双撇号字符"
\?一个人问号(?)输出问号字符?
\\一个反斜杠(\)输出反斜杠字符\
\a警告(alert)产生声音或视觉信号
\b退格(backspace)将光标当前位置后退一个字符
\f换页(from feed)将光标当前位置移到下一页的开头
\n换行将光标当前位置移到下一行的开头
\r回车(carriagereturn)将光标当前位置移到本行的开头
\t水平制表符将光标当前位置移到下一个Tab位置
\v垂直制表符将光标当前位置移到下一个垂直表对齐点
\o、\oo、\ooo其中o表示一个八进制数字与该八进制码对应的ASCII字符与该八进制码对应的字符
\xh[h...]其中h代表一个十六进制数字与该十六进制码对应的ASCII字符与该十六进制码对应的字符

三、为什么使用转义字符?

如果我们要打印一个字符',如下:

#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("%s\n","abcdef"); //形式一

    printf("abcdef");        //形式二

    return 0;

}

第二种形式不能直接像下面这样打印:

printf(2123456)//错误的

如果我们在abcdef中间加一个\0,但因为它代表的是换行,所以我们需要让它失效,让\0就是\0,没有其他含义,只需要这样就可以了:

#include<stdio.h>

int main()

{

    printf("%s\n","abc\\0def"); //形式一

    printf("abc\\0def");        //形式二

    return 0;

}//转义字符  \\

上面那个表里的转义字符都是这样子来使用的。

  • 64
    点赞
  • 442
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿!=程序员

感谢来过,感谢有你!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值