我正在做一些C拼图问题.在大多数情况下,我能够找到正确的答案,但有了这个问题,我就遇到了问题.我通过使用编译器知道正确的答案,但我不知道原因.
看看代码:
char c[] = "abc\012\0x34";
strlen(c)使用标准C编译器会返回什么?
strlen(c)
当我期望的是3时,我的编译器返回4.
我的想法是strlen()搜索NULL角色的第一次出现,但不知何故结果是比我预期的更多.
strlen()
NULL
知道为什么吗?
c string strlen
c ×1
string ×1
strlen ×1