[英]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.