Chinaunix首页 | 论坛 | 博客
  • 博客访问: 307379
  • 博文数量: 82
  • 博客积分: 2602
  • 博客等级: 少校
  • 技术积分: 660
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-10 08:48
文章分类

全部博文(82)

文章存档

2008年(17)

2007年(65)

分类: C/C++

2007-09-01 12:02:18

#include<stdio.h>
#include<unistd.h>


char *my_strstr(char *,char *);

int
main(int argc,char *argv[])
{

        char *presult;
        if(3!=argc){
                printf("Usage:%s \n",argv[0]);
                exit(1);
        }
        presult=my_strstr(argv[1],argv[2]);
        printf("%s\n",presult);
        exit(0);
}

char *my_strstr(char *str,char *sub_str)
{
        int i=0,j=0;
        while(str[i]!='\0'&&sub_str[j]!='\0') {
                if(str[i]==sub_str[j]) {
                        i++;
                        j++;
                }
                else {
                        i=i-j+1;
                        j=0;
                }
        }
        if(sub_str[j]=='\0')
                return (char *)(str+i-j);
        return NULL;
}

上面的主程序是zhozj0222(cuID)实现的,他利用了指针的下标形式,来解决循环比较问题。。

 

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