C语言。。求解(查找)

来源:百度知道 编辑:UC知道 时间:2024/05/19 00:32:58
从键盘接收一个较长的字符串(如:abcabcdabfgba)和一个较短的字符串(如:ab),统计后一字符串在前一字符串中的出现次数(此例为3)。

#include <stdio.h>
#include <string.h>
main ()
{
int sum=0;
char *p1,*p2, strl [ 2048 ], strs [ 2048 ];
scanf ( "%s", strl );
scanf ( "%s", strs );
printf ( "long string is %s, short string is %s\n", strl, strs );
p1=strl;p2=strs;
while(*p1!='\0')
{if(*p1==*p2)
{while(*p1==*p2 && *p1!='\0')
{p1++;
p2++;}
}
else
p1++;
if(*p2=='\0')
{sum++;
p2=strs;}
}
printf ( "short string appears %d times in long strin\n", sum );
}

#include <stdio.h>
#include <string.h>

int main ( void )
{
int i;
char * p, strl [ 2048 ], strs [ 2048 ];

scanf ( "%s", strl );
scanf ( "%s", strs );
printf ( "long string is %s, short stri