首页 > 其他分享 >如何了解转义字符和字符串的细节运用?

如何了解转义字符和字符串的细节运用?

时间:2024-05-30 21:00:49浏览次数:23  
标签:字符 一个 细节 转义字符 字符串 光标 ddd

1.什么是转义字符呢?

转义字符是一组特殊的字符

转义字符顾名思义:转变原来的意思的字符

例如:‘n’ 原本就是简单字符 n  如果加上/

那么/n转变换行的意思

2.那么转义字符有那些呢?

  • \?:在书写连续多个问号时使用,防止他们被解析成三字母词,在新编译器上无法验证

三字母词

??(  --[
??)    --]

3fd458e9e9414578b76a3de1c5bf7b0a.jpg

 

  • \’  :表示字符常量’
  • a308599635ef4f169377bdfa8cab01f2.jpg
  • \” :    表示双引号”
  • b04186fae1ac44d8a321279afe2db77e.jpg
  • \\:用于表示一个反斜杠,防止它被解释为一个转义序列符。
  • \a:警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生。\b:退格键,光标回退一个字符,但不删除字符。
  • \f:换页符,光标移到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\n:换行符。
  • r:回车符,光标移到同一行的开头。
  • \t:制表符,光标移到下一个水平制表位,通常是下一个4/8的倍数。\v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。
  • 4a0c785bd8ac4cb8abfe44607d9f925b.jpg
  • \v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。

  • 下列是两种易错专义字符

  • \ddd:ddd表示1~3个八进制的数字。如  \130表示字符X
  • 6e3af382e6fd4f20b29e3792631f4330.jpg
  • 一定要加\
  • 不然结果不一样   如图:
  • 23b3cdfff7a743a49666ff86755f7331.jpg
  • \xdd:    dd表示2个十六进制数字。    如:\x30 表示字符0    
  • 5d9d92019d854682b0446fc8cb23e516.jpg
    \0: null 字符,代表没有内容,\0就是\ddd这类转义字符的一种,用于字符串的结术 ASCII码值是0.

 3.字符串和\0的作用分别是什么?
C语言中如何表示字符串呢?使用双引号括起中的一串字符就被称为字符串,如:"abcdef”,是一个字符串。
字符串的打印格式可以使用%s来指定,也可以直接打印如下:
 457f87c0e3984bb284b2b9a84b29acc4.jpg

82b6bf88573c47a18ca04ac28fb81722.jpg

C言字符串中一个特殊的知识,就是在字符串的末尾隐藏放着一个\0字符,这个字符是字符串吉束标志。

对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏一个转义字符,\0是字符串的结束标志。所以我们在使用库函数printf()打印字符串或者 strlen()计算字符串长度的时候,遇到\的时候就自动停止了。

C语言中也可以把一个字符串放在一个字符数组中,我们在这里利用下面的代码验证一下\0功能

775b72c2a9b248f09656a52b49bd7b9a.jpg

因为数组arr1无\0,故系统在abc后面继续生成随便值,无法停止

67a7232241324aceb67ccbfe07db6656.jpg如果arr1加上\0

如图: 

8b7fc6eb502f4d99884a82c375ab8599.jpg

结果:

61562a66428c46a5934b9c9432f646ff.jpg 

新手易错点: 

arr1中各字符之间的  ,号容易忘掉

如图为错误示范

fa3e39857c764fb988dee35e7f0f0abb.jpg

876177bf47384847a6d0abc681caebac.jpg 

 

 

 

 

 

 

 

 

标签:字符,一个,细节,转义字符,字符串,光标,ddd
From: https://blog.csdn.net/2301_81697587/article/details/139332854

相关文章

  • 代码随想录算法训练营Day55 | 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总
    本文目录583.两个字符串的删除操作做题看文章72.编辑距离做题看文章编辑距离总结篇以往忽略的知识点小结个人体会583.两个字符串的删除操作代码随想录:583.两个字符串的删除操作Leetcode:583.两个字符串的删除操作做题找出最长公共子序列,然后用两个字符串的......
  • NGUI插件细节分析
    UIDrawCall执行流程NGUI(Next-GenUI)是Unity中的一个流行的UI框架,它通过优化绘制调用(DrawCall)来提高性能。UIDrawCall是NGUI中负责管理和优化绘制调用的核心组件之一。了解UIDrawCall的执行流程有助于开发者优化UI性能。以下是UIDrawCall的执行流程的详细说明:1.初始化......
  • Jackson序列化为字符串时对指定字段脱敏
    枚举脱敏字段类型及规则importjava.util.function.Function;publicenumTextMaskStrategy{ID_NO("身份证",18,text->"*".repeat(text.length()-4)+text.substring(text.length()-4)),PHONE("手机号",11,text->text.substr......
  • MyBatis完成CRUD 详细细节内容
    1.MyBatis完成CRUD详细细节内容@目录1.MyBatis完成CRUD详细细节内容每博一文案2.MyBatis工具类SqlSessionUtil的封装3.准备工作3.1insert添加/插入记录3.2delete删除记录3.3update修改记录3.4select查询记录3.4.5select查询一条记录3.4.6select查询多条记录4.......
  • 未验证:字符串解析为字典的九种方法/
    我是说直接把字典里的内容变成字符串然后解析这个字符串为字典然后才是代码中的计算,我是让你修改代码将输出字符串解析为字典的九种方法:方法一:使用正则表达式importreparsed_item_prices={}current_item=Noneforlineinoutput_string.split('\n'):if......
  • python-旋转字符串
    问题描述:给定一个字符串(以字符串数组的形式)和一个偏移量,根据偏移量从左到右地旋转字符数组。问题示例:输入str=”abcdefg”,offset=3,输出“efgabcd”。输入str=”abcdefg”,offset=0,输出“abcdefg”。(返回旋转后的字符串) 完整代码如下:a=list(input().split())n=int(inpu......
  • C#去掉字符串首尾字符
    以下是多种不同的实现方法来去除C#字符串的首尾字符:1、使用Substring方法:stringinput="HelloWorld!";stringoutput=input.Substring(1,input.Length-2);2、使用Remove方法:stringinput="HelloWorld!";stringoutput=input.Remove(0,1).Remove(input.Leng......
  • LeetCode 第8题:字符串转换整数 (atoi)
    本文我们来看看LeetCode第8题.字符串转换整数(atoi)的解析过程。文章目录一、引言题目描述示例二、解题思路1.丢弃无用的前导空格2.处理正负号3.读入数字4.处理整数溢出5.组合起来思路流程图三、Java代码实现代码解析1.移除前导空格2.处理正负号3.转换数......
  • 28. 找出字符串中第一个匹配项的下标
    28.找出字符串中第一个匹配项的下标ShowSwiftCodefunccomputePMT(_pattern:String)->[Int]{letm=pattern.lengthvarpmt=[Int](repeating:0,count:m)varj=0foriin1..<m{whilej>0&&pattern[p......
  • 2981. 找出出现至少三次的最长特殊子字符串 I
    题目描述给你一个仅由小写英文字母组成的字符串s。如果一个字符串仅由单一字符组成,那么它被称为特殊字符串。例如,字符串"abc"不是特殊字符串,而字符串"ddd"、"zz"和"f"是特殊字符串。返回在s中出现至少三次的最长特殊子字符串的长度,如果不存在出现至少三次的特......