繁体   English   中英

创建 StrStr() 函数

[英]Creating StrStr() Function

这是我到目前为止编写的代码,但我想使用int myStrStr而不是char myStrStr但是当我输入int而不是char ,它给了我一个错误。 请帮忙。

int my_strlen(const char *s1) {
    int i;
    for (i = 0; *s1; s1++, i++);
    return i;
}

char myStrStr(char * haystack, char * needle){
    int i;
    if(*needle =='\0')
        return (char *)haystack;
    else{
        for(;*haystack; haystack++){
            if(*haystack == *needle){
                for(i=1;*(haystack +i)==*(needle +i);i++);
                if(i==my_strlen(needle))
                    return (char *)haystack;
            }
        }
        return NULL;
    }
}

因为你返回char*NULL 您不能将指针强制转换为非指针类型。 现在编译时应该是错误的。 你的函数应该返回char*

您不能将char*int*因为 int 在内存中分配更多空间,因此必须重新分配内存,这必须手动完成。

暂无
暂无

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

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