Chinaunix首页 | 论坛 | 博客
  • 博客访问: 256353
  • 博文数量: 128
  • 博客积分: 65
  • 博客等级: 民兵
  • 技术积分: 487
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-24 17:43
个人简介

人生境界:明智、中庸、诚信、谦逊

文章分类

全部博文(128)

文章存档

2014年(12)

2013年(116)

我的朋友

分类: C/C++

2013-02-22 16:45:02

第一种实现:
char *strstr( const char *s1, const char *s2 )  
{  
    int len2; 
 
    if ( !(len2 = strlen(s2)) )  
        return (char *)s1;  
      
    for ( ; *s1; ++s1 )  
    {  
        if ( *s1 == *s2 && strncmp( s1, s2, len2 )==0 )  
        return (char *)s1;  
    }  
  
    return NULL;  
}
第二种实现:
char * strstr(const char * s1,const char * s2)
{
	int l1, l2;

	l2 = strlen(s2);
	if (!l2)
		return (char *) s1;
	l1 = strlen(s1);
	while (l1 >= l2) {
		l1--;
		if (!memcmp(s1,s2,l2))
			return (char *) s1;
		s1++;
	}
	return NULL;
}

阅读(730) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~