字符串ab\n\\012\\的长度

为什么答案是8呢... 为什么答案是8呢 展开
 我来答
狄真0Ga
高粉答主

2019-09-10 · 说的都是干货,快来关注
知道小有建树答主
回答量:967
采纳率:100%
帮助的人:27.8万
展开全部

'a','b','\n','\\','0','1','2','\\'如果是C语言或者C++的话,就是字符串长度为8。

尽管形式字符串可以有任意(但有限)的长度,实际语言的字符串的长度经常被限制到一个人工极大值。

一般的说,有两种类型的字符串数据类型: “定长字符串”,它有固定的极大长度并且不管是否达到了这个极大值都使用同样数量的内存;

和“变长字符串”,它的长度不是专断固定的并且依赖于实际的大小使用可变数量的内存。在现代编程语言中的多数字符串是变长字符串。尽管叫这个名字,所有变长字符串还是在长度上有个极限,一般的说这个极限只依赖于可获得的内存的数量。

扩展资料:

字符编码

历史上,字符串数据类型为每个字符分配一个字节,尽管精确的字符集随着区域而改变,字符编码足够类似得程序员可以忽略它 — 同一个系统在不同的区域中使用的字符集组要么让一个字符在同样位置,要么根本就没有它。这些字符集典型的基于ASCII码或EBCDIC码。

意音文本的语言比如汉语、日语和朝鲜语(合称为CJK)的合理表示需要多于256个字符(每字符一个字节编码的极限)。常规的解决涉及保持对ASCII码的单字节表示并使用双字节来表示CJK字形。现存代码在用到它们会导致一些字符串匹配和切断上的问题,严重程度依赖于字符编码是如何设计的。

某些编码比如EUC家族保证在ASCII码范围内的字节值只表示ASCII字符,使得使用这些字符作为字段分隔符的系统得到编码安全。

其他编码如ISO-2022和Shift-JIS不做这种担保,使得基于字节的代码做的匹配不安全。另一个问题是如果一个字符串的开头被删除了,对解码器的重要指示或关于在多字节序列中的位置的信息可能就丢失了。

另一个问题是如果字符串被连接到一起(特别是在被不知道这个编码的代码截断了它们的结尾之后),第一个字符串可能不能导致编码器进入适合处理第二个字符串的状态中。

参考资料:百度百科-字符串

麻木y1
高粉答主

2019-09-12 · 每个回答都超有意思的
知道小有建树答主
回答量:765
采纳率:100%
帮助的人:22.3万
展开全部

长度是8。如s=“abcdefghij”,则s[1]=“b”,s[9]="j",字符串的零位正是它的长度。

一般的说,有两种类型的字符串数据类型:“定长字符串”,它有固定的极大长度并且不管是否达到了这个极大值都使用同样数量的内存;

和“变长字符串”,它的长度不是专断固定的并且依赖于实际的大小使用可变数量的内存。在现代编程语言中的多数字符串是变长字符串。

扩展资料:

设 Σ 是叫做字母表的非空有限集合。Σ 的元素叫做“符号”或“字符”。在 Σ 上的字符串(或字)是来自 Σ 的任何有限序列。例如,如果 Σ = {0,1},则 0101 是在 Σ 之上的字符串。

字符串的长度是在字符串中字符的数目(序列的长度),它可以是任何非负整数。“空串”是在 Σ 上的唯一的长度为 0 的字符串,并被指示为 ε 或 λ。

1、在 Σ 上的所有长度为 n 的字符串的集合指示为 Σn。例如,如果 Σ = {0, 1} 则 Σ2 = {00, 01, 10, 11}。注意 Σ0 = {ε} 对于任何字母表 Σ。

2、在 Σ 上的所有任何长度的字符串的集合是 Σ 的Kleene闭包并被指示为 Σ*。 依据Σn。

例如,如果 Σ = {0, 1} 则 Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, …}。尽管 Σ* 自身是可数无限的,Σ* 的所有元素都有有限长度。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小七说LoRa
推荐于2017-09-14 · TA获得超过461个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:233万
展开全部
'a','b','\n','\\','0','1','2','\\'
如果是C语言或者C++的话,就是这样,字符串长度为8.当然字符串最末尾一般还有一个'\0',加上这个'\0'的话就是9位。
更多追问追答
追问
字符串中间的\0不算结束的意思吗
追答
我上面那个给你打的很明确了,0前面的那个斜杠是和前面斜杠结合的,这个可以参考转义字符
'\'C语言里没有这么输出斜杠的,会提示错误。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序猿的独白
2013-07-05 · 超过28用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:56.3万
展开全部
a,b,0,1,2 ==5个 \n \\ \\ ==3个 (第一个斜杠表示转移字符来的);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式