#include<stdio.h>
#include<string.h>
char s1[1000001];
char s2[1000001];
int main(int argc, char *argv[])
{
    while(~scanf("%s%s",s1,s2))
    {
        int cnt=0;
        int i=0;
        char *s=s1;
        while(s=strstr(s,s2))
        {
            s++;
            cnt++;
        }
        printf("%d\n",cnt);
    }
 
    return 0;
}
 
/**************************************************************
    Problem: 1094
    User: kirchhoff
    Language: C
    Result: Accepted
    Time:20 ms
    Memory:2868 kb
****************************************************************/
原文地址:http://blog.csdn.net/wdkirchhoff/article/details/42246811