c - 这个数组的长度是多少? c语言

标签 c

char msg[100] = {’C’,’P’,’R’,‘E’,‘\0’,‘2’,‘8’, ‘8’,‘\0’};
int my_length = 0xFFFFFFFF;
my_length = strlen(msg);

我以为是九,然而,答案是四。谁能解释一下?谢谢

最佳答案

strlen 将在遇到空终止符后立即停止计数(因为 C 使用空终止字符串并希望仅在字符串末尾找到它们)。

在第一个空终止符之前有四个字符,因此长度为 4。

关于c - 这个数组的长度是多少? c语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641283/

相关文章:

将在 Mac 上创建的 .c 文件转换为 Windows

c - 多次调用函数内 rand 时的相同数字,C

c - SpMV 算法的大小与时间图中的不规则时间跳跃

c++ - 我应该更改函数参数的值吗?

c - 警告的可能解决方案

c - 不同架构的集群应该指定哪个AVX和march?

c - 如何从 txt 文件中取出数字和单词并将它们分配给 int 和 char*

c++ - 与 c/c++ 中的结构指针混淆

c - 通过 Regex C 验证输入

c++ - 为什么分配更大的空间时,堆地址的增长方向会相反?