转义字符解释

也许在一些代码中你看到 \n, \0 很纳闷是啥。其实在字符中有一组特殊的字符是转义字符,转义字符顾名思义:转变原来的意思的字符。

比如:我们有字符n,在字符串中打印的时候自然能打印出这个字符,如下:

#include<stdio.h>

int main()
{
    printf("abcndef");
    return 0;
}

输出的结果: 

 

如果我们修改一下代码,在n的前面加上 \ ,变成如下代码:

#include<stdio.h>

int main()
{
    printf("abc\ndef");
    return 0;
}

输出的结果:

 

我们可以看到修改的前后代码输出的结果是截然不同的,那这是为什么呢?

这就是转义字符的问题,\n 是一个转义字符表示换行的意思,我们可以简单的理解为 \ 让 n 的意思法上了转变,n 本来是一个普通的字符,被 \ 转义为换行的意思。

C语言中像这样的转义字符还有一些,具体如下:

  • \? :在书写连续多个问号时使用,防止他们被解析成三字母词,在新的编译器上没法验证了
  • \‘  :用于表示字符常量’
  • \"  :  用于表示一个字符串内部的双引号
  • \\  :用于表示一个反斜杠,防止它被解释为一个转义序列符
  • \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生
  • \b :退格符,光标回退一个字符,但不删除字符
  • \n  :换行符
  • \t   :制表符,光标移到下一个垂直制表位,通常时下一个8的倍数

下面两种转义字符可以理解为:字符的8进制或者16进制表示形式

  • \ddd:d d d表示1~3个八进制的数字。如:\130 表示字符X
  • \xdd:d d表示2个十六进制数字。       如:\x30  表示字符0

\0:NULL字符,代表没有内容,\0就是\ddd这类转义字符的一种,用于字符串的结束标志,其中ASCII码值是0.

代码演示:

#include <stdio.h>

int main()
{
	printf("%c\n", '\'');
	printf("%s\n", "\"");
	printf("c:\\test\\code\\test.c\n");
	printf("\a");
	printf("%c\n", '\130'); 
	//130是8进制,转换成10进制是88,以88作为ASCII码值的字符是'X'
	printf("%c\n", '\x30'); 
	//x30中的30是16进制,转换成10进制是48,以48作为ASCII码值的字符是'0'
	return 0;
}

 

转义字符参考:转义序列 - cppreference.com

 

 

 

 

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

傲_慢_之_最

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值