转义字符详解

常见的转义字符

转义字符意义ASCLL码值(十进制)
\a响铃(BEL)7
\b退格(BS),将当前位置移动到前一列8
\f换页(FF),将当前位置移动到下一页开头12
\n换行(LF),将当前位置移动到下一行开头10
\r回车(CR),将当前位置移动到本行开头13
\t水平制表(HT)(跳到下一个TAB位置)9
\v垂直制表(VT)11
\’代表一个单引号39
\"代表一个双引号34
\\代表一个反斜线字符“ \ ”92
\?代表一个问号63
\0空字符(NULL)0
\ddd1~3位八进制数所代表的任意字符三位八进制
\xdd1~2位十六进制所代表的任意字符十六进制

详解

1. \a

响铃(报警),若输出\a时会有系统错误提示音。

#include<stdio.h>
int main()
{

	printf("\a");

	return 0;
}

2. \b

退格键,光标回退⼀个字符(个人理解为覆盖一个字符)。
例如:

#include<stdio.h>
int main()
{

	printf("1234567\bABC");

	return 0;
}

输出结果为:

123456ABC

注意:若 \b 遇到 \n 或 \r 则会停止移动!!!

例如:

#include<stdio.h>
int main()
{

	printf("12345\n67\b\b\bABC");

	return 0;
}

输出结果为:

12345
ABC

3. \f

换⻚符,光标移到下⼀⻚。
在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。

4. \n

换⾏符。
\n 是最为常用的转义字符之一,意思也很好理解,就是换行的意思。
例如:

#include<stdio.h>
int main()
{

   printf("12\n34567");

   return 0;
}

输出结果为:

12
34567

5. \r

回⻋符,光标移到同⼀⾏的开头。

例如:

#include<stdio.h>
int main()
{

	printf("12345\r67");

	return 0;
}

输出结果为:

67345

6. \t

制表符,光标移到下⼀个⽔平制表位,通常是8的倍数
例如:

#include<stdio.h>
int main()
{

	printf("12345\t1234\t123\n");
	printf("------------------------\n");
	printf("\n");
	printf("\n");
    printf("123456789\t12345678912\t1234567891234\n");
    printf("------------------------------------------------");
	return 0;
}

输出结果为:

12345   1234    123     
------------------------


123456789       12345678912     1234567891234   
------------------------------------------------

输出结果图解:
图解

7. \v

垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。

8. \’

⽤于表⽰字符常量 ’ (一个单引号)
例如:

#include<stdio.h>
int main()
{

	printf("  123\'456 ");


	return 0;
}

输出结果为:

  123'456  

9. \"

⽤于表⽰⼀个字符串内部的 " (双引号)
例如:

#include<stdio.h>
int main()
{

  printf("  123\"456 ");


  return 0;
}

输出结果为:

  123"456

10. \\

⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
例如:

#include<stdio.h>
int main()
{

  printf(" 123\\456 ");


  return 0;
}

输出结果为:

123\456

11. \?

代表一个问号

在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。

12. \0

null 字符,代表没有内容。

常被系统自动加在每个字符串的尾部,作为字符串的结束标志,占用一个字节的内存空间。
例如:

#include<stdio.h>
int main()
{

	printf("abcde\0fgh");


	return 0;
}

输出结果为:

abcde

13. \ddd

d d d表⽰1~3个⼋进制的数字。
例如:

#include<stdio.h>
int main()
{

	printf("%c",'\131');


	return 0;
}

输出结果为:

Y

图解:
图解

14. \xdd

d d表⽰2个⼗六进制数字。

#include<stdio.h>
int main()
{

	printf("%c",'\x45');


	return 0;
}

输出结果为:

E

图解:
图解2

注:

转义字符参考:https://zh.cppreference.com/w/c/language/escape

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值