繁体   English   中英

在 c 中创建 strlen function

[英]Creating an strlen function in c

任务是创建一个 function 来替换 strlen 但按照我要介绍的顺序,你必须填补空白。 我尝试了一些东西,但卡在了我需要计算尺寸并将其退回的地方。

#include <stdio.h>
#define MAXLENGTH 80

int my_strlen(char* s)
{
    char *p = (1);
    while (2)
        (3);

    return (4);
}


int main()
{

    char str[MAXLENGTH];
    int len;
    printf("Enter a string:");
    gets(str);
    len = my_strlen(str);
    printf("The length of the string %s is %d\n", str, len);
}

我试过这个但卡在3,如何计算大小

#include <stdio.h>
#define MAXLENGTH 80

int my_strlen(char* s)
{
    char *p = s;
    while (*p++ != '\0')
        (3);

    return (4);
}


int main()
{

    char str[MAXLENGTH];
    int len;
    printf("Enter a string:");
    gets(str);
    len = my_strlen(str);
    printf("The length of the string %s is %d\n", str, len);
}
size_t mystrlen(const char *restrict s)
{
    const char *restrict e = s;
    while(*e) e++;

    return (uintptr_t)e - (uintptr_t)s;
}

但我不建议向你的老师展示......

我刚刚用i++替换了你的(3)(4) ,这将增加直到终止(\0)并返回(i)

#include <stdio.h>
#define MAXLENGTH 80

int my_strlen(char* s)
{
    int i=1;
    char *p = s;
    while (*p++)
        i++;

    return (i);
}


int main()
{

    char str[MAXLENGTH];
    int len;
    printf("Enter a string:");
    gets(str);
    len = my_strlen(str);
    printf("The length of the string %s is %d\n", str, len);
}

返回值为+1 (包括\0)

暂无
暂无

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

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