主题:[讨论]输出子串在原字符串中出现的次数
蓝月光菜鸟
[专家分:10] 发布于 2011-05-21 09:59:00
#include <stdio.h>
#include <string.h>
void main()
{
int i,j,k,count;
char s1[100],s2[100];
printf("Enter main String:");
gets(s1);
printf("Enter Sub String:");
gets(s2);
count=0;
/**/ for(i=0;*s1!='\0';i++) /**/
{
/**/ for(k=0; (s1[j]==s2[k])&&(s1[j]!='\0'); j++,k++ ); /**/
if(s2[k]=='\0') count++;
}
printf("\nCount=%d\n",count);
getch();
}
修改 第一行 *s1 => s1[i]
第二行 j=i
这是我的答案,可是我在Turb C里面count的值总是0;开始的时候是可以的,过了几天,现在运行,总是为0,求解,谢谢!
回复列表 (共13个回复)
沙发
fragileeye [专家分:1990] 发布于 2011-05-21 10:26:00
算法是要实现什么额?
板凳
killergsm [专家分:90] 发布于 2011-05-21 11:13:00
我用vc运行没问题,还有,if那句加个操作
if(s2[k]=='\0')
{
count++;
i--;
}
3 楼
蓝月光菜鸟 [专家分:10] 发布于 2011-05-23 08:35:00
第二个字符串在第一个字符串中出现的次数
4 楼
蓝月光菜鸟 [专家分:10] 发布于 2011-05-23 08:46:00
[em10]我的还是不行 vc也还是不行 真是搞不懂啊 还是0
5 楼
蓝月光菜鸟 [专家分:10] 发布于 2011-05-23 19:16:00
又可以啦,我还是没找出来有什么不一样的地方 呵呵 麻烦你啦
6 楼
fragileeye [专家分:1990] 发布于 2011-05-24 09:08:00
感觉lz还是把代码重新写一遍要好。。
7 楼
蓝月光菜鸟 [专家分:10] 发布于 2011-05-25 16:58:00
你太有才啦!我又把代码敲了一遍,可以运行了,呵呵 但是还是没有找出原因!Well Done!
8 楼
fragileeye [专家分:1990] 发布于 2011-05-25 19:16:00
没有找出来的原因大概就是你一直没找出来的细节了,单步调试就知道了。。
9 楼
cxxcomp [专家分:2370] 发布于 2011-05-26 03:22:00
翅膀折了,一定要养伤。
杀杀你的机器的毒吧。先把你机器搞顺了,在编程吧。
10 楼
fragileeye [专家分:1990] 发布于 2011-05-26 08:22:00
[quote]翅膀折了,一定要养伤。
杀杀你的机器的毒吧。先把你机器搞顺了,在编程吧。[/quote]
[em11][em11][em11]
我来回复