繁体   English   中英

size_t返回指针减法

[英]size_t return pointer subtraction

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

    return 0;
}

size_t strlen(const char *s1)
{



    return s1 - 0;
}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM