#include <stdio.h>
//模仿实现 strlen()
size_t strlength(const char *s)
{
const char *sc;
for(sc = s; *sc != '\0'; sc++)
;
return (sc - s);
}
int main(void)
{
char arr[] = "Hello world";
printf("\"%s\" length: %lu\n",arr,(unsigned long)strlength(arr));
printf("sizeof(arr) = %lu\n",(unsigned long)sizeof(arr));
return 0;
}
结果:
"Hello world" length: 11
sizeof(arr) = 12
结论:
strlen 不包含 '\0'
sizeof 是要计算空字符所占的空间的。