strlen与sizeof异同

#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 是要计算空字符所占的空间的。

猜你喜欢

转载自www.cnblogs.com/luwudang/p/9639736.html
今日推荐