ANSI C 88实现的忽略大小写strstr函数,帮忙挑挑毛病

yhb7805 CSDN会员 yhb7805 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
总是觉得太罗嗦,大家帮帮忙,给指点指点,有没有更好的思路?
char* strstrNoCap( const char *str1, const char *str2 )
{
int i = 0, j = 0;
char *rv = 0;
int ch1 = 0, ch2 = 0;

while(*(str1+i))
{
while(*(str2+j))
{
ch1 = (*(str1+i+j)>96) ? -32 : 0;
ch2 = (*(str2+j)>96) ? -32 : 0;
if((ch2 + *(str2+j)) == (ch1 + *(str1+i+j)) )
{
rv = str1 + i;
j++;
}
else
{
rv = 0;
break;
}
}
if(rv != 0)
return rv;
else
i++;
}
return rv;
}
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
yhb7805 CSDN会员
C语言 70,039 成员 243,237 内容