用最少的分号实现strstr函数
本帖最后由 追梦少年_66 于 2017-12-14 20:56 编辑1、用最少的分号实现strstr函数
2、不使用逗号
3、不使用系统的字符串库函数
4、需判断是否为NULL
char * mystrstr4(char *str1, char*str2) {
if (str1&&str2) {
char * p2 = str2;
while (*str1) {
while (*p2 && *str1 &&*str1++ == *p2 && *p2++);
if (*p2) {
return str1 - (p2 - str2);
}
str1 = str1 - (p2 - str2);
p2 = str2;
}
}
return NULL;
} 追梦少年_66 发表于 2017-12-14 14:46
8个分号你行不行,兄弟,不行就被说话
char * Mystrstr(const char *str1, const char *str2)
{
char *s;
if (!*str2)
return (char *)str1;
while (*str1)
{
s = str2;
while (*str1 && *s && *str1 == *s)
{
str1++;
s++;
}
if (!*s)
return (char *)str1 - (s - str2);
str1++;
}
return NULL;
}
不用逗号
8个分号 代码不是我写的,没验证过,摘自百度百科strstr
char *strstr(const char*s1,const char*s2)
{
int n;
if(*s2)
{
while(*s1)
{
for(n=0;*(s1+n)==*(s2+n);n++)
{
if(!*(s2+n+1))
return (char*)s1;
}
s1++;
}
return NULL;
}
else
return (char*)s1;
} 我再来怼你一次。你讽刺了我两次。
模式匹配算法。KMP你8个分号我看看。BF你就别来得瑟了。 SeriousSnow 发表于 2017-12-14 14:19
我再来怼你一次。你讽刺了我两次。
模式匹配算法。KMP你8个分号我看看。BF你就别来得瑟了。
8个分号你行不行,兄弟,不行就被说话 今天下午又写了一次kmp算法,确实是太妙了,给了我很多启发 这种帖子不是应该在水区吗?
这几天开了两次吾爱就看见两次,没觉得有多炫技的 SeriousSnow 发表于 2017-12-14 14:19
我再来怼你一次。你讽刺了我两次。
模式匹配算法。KMP你8个分号我看看。BF你就别来得瑟了。
别说那些没用的废话了,你牛就把你的代码贴出来,不行就别在哪里bb,哥是发帖交流的,没空鸟你 另类飞翔 发表于 2017-12-14 14:56
这种帖子不是应该在水区吗?
这几天开了两次吾爱就看见两次,没觉得有多炫技的
兄弟吧代码贴出来,我期待你的表演 SeriousSnow 发表于 2017-12-14 15:11
char * Mystrstr(const char *str1, const char *str2)
{
不错兄弟,你做到了这道题就是你赢了,说明你基本功很扎实。但是兄弟,我其实可以只要7个分号哟,嘿嘿 谢谢分享