zr_714的专栏

踏踏实实前进

在长字符串中找单词并显示位置。

#include<stdio.h>

int find(const char *str1,const char *str2,int *pos);

int main()
{
    char *str1="helhellhellohello";
    char *str2="hello";
    int pos;
    find(str1,str2,&pos);
    find(str2,str1,&pos);
    return 0;

}

int find(const char *str1,const char *str2,int *pos)
{
    int i=0,j=0;
    *pos=0;
    const char *p1,*p2,*ph;
    p1=str1; p2=str2;//p1,p2用来比较
    ph=str1;//ph存放待比较字符串头地址
    while(*p1 !='\0')
    {
        if(p1[i]==p2[j])
        {
            i++;j++;
        }
        else
        {
            p1=p1+1;
            i=0;j=0;
        }
        if(p2[j]=='\0')
        {
            *pos=p1-ph+1;
            printf("pos is %d\n",*pos);
        }

    }
    if(*pos>0)
        return 0;
    else
    {
        printf("there is no this word");
        return -1;
    }
}

阅读更多
个人分类: C/C++语言
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭