不使用字符串库的c中的字符串长度

jwk*_*koo 2 c string-length

    char* str =
    "\
    a-a-a-a\
    differing the text, because that was the lecture thing\
    the text has been changed\
    I know!\
    the text has been changed\
    ";
Run Code Online (Sandbox Code Playgroud)

我深深地思考了几个小时,但无法弄清楚......只使用 stdio.h

string.h 是不允许的,但只使用基本的东西..

我怎样才能得到字符串长度?有人请帮助我。

目标是找到给定字符串中输入模式的频率

例如) ha => 2, di => 1..

帮我。

Neo*_*Neo 5

至于字符串的长度, 的实现strlen并不是很复杂。
您应该做的就是遍历字符串,直到找到\0(字符串结尾)并计算循环的次数。

unsigned int mystrlen(const char* str)
{
    unsigned int length = 0;
    while (*str != 0)
    {
        str++;
        length++;
    }
    return length;
}
Run Code Online (Sandbox Code Playgroud)

这可以缩短为

unsigned int len = 0;
for (; str[len]; len++);
Run Code Online (Sandbox Code Playgroud)