求T串在S串中出现的次数。

strstr(str1,str2)
strstr是一种函数,从字符串str1中查找是否有字符串str2,如果有,从str1中的str2位置起,返回str1的指针,如果没有,返回null
作用strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
例子:
char st[]="abc 1234 xyz";
printf("%s",strstr(st,"34") );
打印出:

34 xyz



#include
#include
int f(char *S,char *T)
{
    char *r;
    int n=0;
    while(strstr(S,T))
    {
        r=strstr(S,T);
        r+=strlen(T);
        S=r;
        n++;
    }
    return n;
}
int  main()
{
    char S[100],T[100];
    while(scanf("%s%s",S,T)!=EOF)
    {
        printf("%d\n",f(S,T));
    }
    return 0;
}


当然问题不会只有一种解决的办法

#include
#include
int main()
{
    int i,j,n;
    char S[100],T[100];
    while(scanf("%s%s",S,T)!=EOF)
    {
        i=0;
        j=0;
        n=0;
        while(S[i]!=0)
        {
            while((S[i+j]==T[j])&&T[j]!=0)
                j++;
            if(T[j]==0)
            {
                n++;
                i+=strlen(T);
            }
            i++;
            j=0;
        }
        printf("%d\n",n);
    }
    return 0;
}


你可能感兴趣的:(求T串在S串中出现的次数。)