// 在字符串src中查找第一次出现字符串sub的位置
char *strstr(char *src,char *sub)
{
// 参数检测
if((src == NULL) || (sub == NULL)){
return NULL;
}
// 参数保护,避免偏移后出现错误
char *strx = src;
char *suby = sub;
// 检测主体
//while(*strx != '\0'){ // 此处一个条件就足够了
//while(*strx || *suby){ // 省略条件判断\0
while(*strx || *suby){ // 此处检测完sub后直接退出,效率比上边高一些
if(*strx++ != *suby++){ // 检测strc字符是否与suby字符相等
suby = sub; // 避免中途断开检测
}
}
if(*suby == '\0'){ // suby做地址偏移 ,此处为退出条件
return sub; // 此处应将返回输入地址
}
return NULL;
}
6.自实现strstr库函数原型
猜你喜欢
转载自blog.csdn.net/TurboTab/article/details/104667479
今日推荐
周排行