C语言 字符串所占字节数和字符串长度有什么区别?char str[]={'a','','a','n','d','','b'}的长度是多少?字节数又是多少?又怎么来的?
1个回答
关注
展开全部
在纯ASCII码下,字节数=字符串长度=字符个数,因为每个字符就一个字节。
在Unicode下,字节数/2=字符串长度=字符个数,因为每个字符都是2个字节。
在ASCII码与其它双字节字符系统混用时,字节数=ASCII码字符个数+双字节字符个数*2,
而此时字符串长度到底怎么统计就不好说了,
【有的语言如C语言,此时字符串长度=字节数,】
有的语言如JS,此时字符产长度=字符个数。
咨询记录 · 回答于2021-08-06
C语言 字符串所占字节数和字符串长度有什么区别?char str[]={'a','','a','n','d','','b'}的长度是多少?字节数又是多少?又怎么来的?
在纯ASCII码下,字节数=字符串长度=字符个数,因为每个字符就一个字节。在Unicode下,字节数/2=字符串长度=字符个数,因为每个字符都是2个字节。在ASCII码与其它双字节字符系统混用时,字节数=ASCII码字符个数+双字节字符个数*2,而此时字符串长度到底怎么统计就不好说了,【有的语言如C语言,此时字符串长度=字节数,】有的语言如JS,此时字符产长度=字符个数。
我要答案,而不是理论
这个问题的结果
长度为5,占用空间为6
为什么?
"acb" 在 char 的定义下字符串长度是 3