画红圈的句子不太理解

img


请问画红圈的句子怎么理解?
意思是一个中文字符算两个元素?字符串里面一个元素也是只占一个字节吗?

emmm,

  1. 一个char变量是一个字节
  2. 字符串实质是 char型的数组, 比如 char str[100]; 表示str是一个100字节的字符串,可以存100个字符。
  3. 英文只有26个字母,再加上杂七杂八的符号,不会超过一个字节的编码上限。(一个字节是8bit 二进制数,其编码上限为 2的8次方个字符,也就是256个字符)
  4. 但汉字则不同,汉字太多了,超过了一个字节的编码上限,因此需要用两个字节来编码一个汉字。

img


中文占两个字符,一个字符是一个字节,字符串结尾还有一个'\0'所以输出3