主题:[讨论]输出子串在原字符串中出现的次数
#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,求解,谢谢!
#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,求解,谢谢!