size_t返回指针减法

时间:2012-07-28 01:40:31

标签: c pointers

我想要以下错误消息......错误:从'const char *'无效转换为'size_t'

    return 0;
}

size_t strlen(const char *s1)
{



    return s1 - 0;
}

1 个答案:

答案 0 :(得分:3)

从指针中减去零不会改变指针,就像从数字中减去零一样,不会改变数字。

您应该减去原始指针而不是零,以获得长度:

size_t strlen(const char *s1) {
    const char *orig = s1;
    while (*s1) {
        s1++;
    }
    return s1 - orig;
}
相关问题