好像不对?关于字符串数组和字符数组长度的澄清

您是对的!之前的回答有误,非常抱歉造成困惑。让我们来仔细分析一下:

正确答案:数组a和b的长度 不相同

解析:

  • 数组 a 是一个字符串,声明为 char a[] = 'xyz';。它包含了3个字符 'x', 'y', 和 'z',并在结尾自动添加一个 null 终止符 ('\0')。因此,数组 a 的长度是 4
  • 数组 b 是一个字符数组,声明为 char b[] = {'x', 'y', 'z'};。它包含了3个字符 'x', 'y', 和 'z',没有 null 终止符。因此,数组 b 的长度是 3

结论: 字符串字面量赋值会自动添加null终止符,而字符数组初始化则不会。

如果您对数组、字符串或其他C语言概念有任何疑问,请随时提问!

数组长度比较:字符串数组vs字符数组

原文地址: https://www.cveoy.top/t/topic/bqe0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录