char * my_strstr(char *str, char * substr) {
char * pre_str=str;
char * pre_substr=substr;
while(*str && *substr) {
if(*substr && (*str == *substr)) { //如果匹配部分,則繼續進行匹配
++str;
++substr;
}
else if(!*substr) { //如果子串空,說明完全匹配
return str- (substr-pre_substr); //返回子串在主串裏的起始匹配點
}
else if(*str != *substr) { //不匹配的情況處理
if(substr!=pre_substr) { //有一部分匹配的情況處理,循環回退
str=str- (substr-pre_substr) ;
substr=pre_substr;
}
++str; //主串的循環
}
}
if(!*substr) { //退出時,如果子串空,則匹配,輸出匹配點
return str- (substr-pre_substr);
}
return NULL;
}
end.
C實現strstr函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.