回 帖 发 新 帖 刷新版面

主题:[讨论]输出子串在原字符串中出现的次数

#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个回复)

沙发

算法是要实现什么额?

板凳

我用vc运行没问题,还有,if那句加个操作
if(s2[k]=='\0') 
     {
         count++;
         i--;
     }

3 楼

第二个字符串在第一个字符串中出现的次数

4 楼


[em10]我的还是不行 vc也还是不行 真是搞不懂啊 还是0

5 楼

又可以啦,我还是没找出来有什么不一样的地方 呵呵 麻烦你啦

6 楼

感觉lz还是把代码重新写一遍要好。。

7 楼


你太有才啦!我又把代码敲了一遍,可以运行了,呵呵 但是还是没有找出原因!Well Done!

8 楼

没有找出来的原因大概就是你一直没找出来的细节了,单步调试就知道了。。

9 楼

翅膀折了,一定要养伤。
杀杀你的机器的毒吧。先把你机器搞顺了,在编程吧。

10 楼

[quote]翅膀折了,一定要养伤。
杀杀你的机器的毒吧。先把你机器搞顺了,在编程吧。[/quote]
[em11][em11][em11]

我来回复

您尚未登录,请登录后再回复。点此登录或注册