#define LOCAL
#include<stdio.h>
#include<stdlib.h>
#define MAX 200
char s[MAX];
int main(void)
{
char k[40];
int length=0;//输入字符长度
int num=0,i=0;//字符串个数
int start=0,end=0;
int t=0;
int m;
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif
//
printf("输入字符串:");
gets(s);
//
printf("输入需要统计的字符串:");
gets(k);
while(*(k+length))
{
length++;
}
//printf("%d\n",length);
while(*(s+i))
{
if (*(s+i)==' ')
{
end=i;
for (m=start;m<end;m++)
{
//进行匹配
if ((end-start)!=length)
break;
if (*(s+m)==*(k+t))
{
t++;
if (t==length)
num++;
}
}
t=0;
start=end+1;
}
i++;
}
printf("字符串中一共有%d个%s\n",num,k);
return 0;
}
解释代码中的while(*(k+length))和 while(*(s+i))
还有
if (*(s+i)==' ')
的含义