【发布时间】:2012-04-15 12:22:56
【问题描述】:
如果我这样声明一个包含 10 个元素的字符串:
char s[10];
那么最后的'\0'是占据第10位还是第11位呢?基本上我的问题是我们是否在字符串中少了 1 个元素?
如果我使用 strlen() 函数来查找这个字符串的长度,返回值是否包含 null?即如果字符串是“男孩”,函数会给我 3 还是 4?
【问题讨论】:
-
\0 可以插入从索引 0 到索引 9(含)的任何位置。不能出现在索引10(这里的索引范围是0-9)。
-
当您使用 C++ 时,我会指出您应该使用字符串类而不是
char的数组(或char*就此而言 [仅供参考,不完全相同])虽然我相信您正在研究嵌入式的东西,这就像一些没有任何意义的替代现实。