C语言程序求debug:统计一个字符串在另一个字符串中出现的次数。

要求:统计一个字符串在另一个字符串中出现的次数。及输入两个字符串后,直接输出结果。 这是我的代码,按我自己测试的情况来看,程序没有问题。 可是就是交不上作业(电脑自动评判系统)。不只是那组测试数据通不过。 求解~~~谢谢!!! #include<stdio.h> int main() { char a[101],b[101]; int i,j,c; while(scanf("%s%s",&a,&b)!=EOF) { c=0; j=0; for(i=0;a[i]!='\0';i++) { if (a[i]==b[j]) j++; else j=0; if(b[j]=='\0') { c++; j=0; } } printf("%d\n",c); } return 0; }

我不确定我的想法对不对,假如是下面这样的情况:
a数组的值为:"abbcd"
b数组的值为:"bcd"
a数组比到第三个字符的时候跟b数组的不一样,但是i++,j
=
0了,相当于a数组现在的值是c,b数组的值是b,相当于就不对了
因为没多少时间看,希望分析的不对帮忙指出
你将这句
if
(a[i]==b[j])
j++;
else
j=0;
改成
if(a[i]
==
b[j])
{
j++;
}
else
if(a[i]
==
b[0])
{
j
=
1;
}
else
{
j
=
0;
}
试试看吧
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网