学徒笔记5-怎么打印特殊符号?printf打印出现乱码?关于\0等转义字符以及strlen等函数初学阶段介绍

// 首先要明确转义字符的概念:转义字符是编程语言中的一种特殊字符,他用于表示那些在字符串中具有特殊含义的字符;转义字符通常形式为\开始,后面跟着一个或多个字符,表示一个特定的控制字符或转义序列
常见的转义字符是\n和\0,其中\n是换行符,而\0是每一个字符串后自带的,是字符串的结束标志,printf和strlen等函数都是通过识别\0来确定字符串在哪里结束,我们也可以人工输入\0干涉printf和strlen等函数的执行(平时打印出乱码可能是因为没有识别到\0)。
转义字符还有一种常见形式用法,比如我们想打印‘ ,”,\等特殊符号时,我们需要在前面加上
示例:打印
在这里插入图片描述
这里我们若只写一个\我们会发现vs给我们报错了,所有要在前面加\(想打印\n也是同理)
下面再介绍一下其他的转义字符

\t 制表符 程序执行后会看作一个tab长度,如果不足tab长度会补上空格,比如ysrm\t不足一个tab长度(tab长度可能是4字节也可能是8字节)打印会得到ysrm空格空格空格空格(这里空格不是真的汉字只是方便理解)

\a 报警 程序执行\a时会发出警报声

\b 回退 程序执行\b会将光标回退一格,也就是若\b不在末尾有一格字符会被下一字符覆盖,若在末尾则影响不大(还有一个转义字符可以将光标回退到行首,有兴趣可以自己去了解)

\ddd 8进制 这里d表示0~7数字,之所以只有三位是因为三位已经包含了ASC||码表中的所有值,注意这里\ddd表示的值不能超过ASC||码值

\xdd 16进制 这里d表示0~15数字,只有两位的理由同上,注意事项也同上,额外须知是这里x不是数字,可以理解成一种形式,\x 数字 数字

这是我认为初学者可以掌握的一些转义字符

这里再介绍一下strlen,使用strlen需要包含头文件string.h,strlen功能是计算字符串长度,下面是一个示例在这里插入图片描述

  思考一下上述代码运行结果是什么
 这里常见的注意须知有几个:
 1.标点符号算一个字符
 2.\t算一个字符而不是tab长度个字符
 3.\166算一个字符
 其中2和3可以归于一类,也就是所有转义字符都算作一个字符(可以仔细思考下转义字符定义,转义字符是一个整体,整体算作一个特殊字符),
 所以上述代码运行结果是11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值