文字列で指定した同じサブ列の数を特定します.
1306 ワード
関数呼び出し関数
例えば、「abcdab」の中にいくつかの「ab」があることを探します.
header.h
main_fun.c
countChildStr.c
child.c
例えば、「abcdab」の中にいくつかの「ab」があることを探します.
header.h
#include
#include
#include
void child(char []);
void fun(char *str);
main_fun.c
#include"header.h"
int main(void)
{
char str[80];
puts(" ");
while(gets(str) != NULL && str[0] != '\0' )
{
fun(str);
puts(" ");
}
puts("Bye!~");
return 0;
}
countChildStr.c
//
#include"header.h"
void fun(char *str)
{
char zi[40];
child(zi);//zi[] = "ab" str[]="abcdab"
printf(" %s %s
",str,zi);
int count=0;
int i=0,j=0;
int t=0;
for(i=0;str[i];i++)
{
t=i;
//printf("t = %d
",t);//
for(j=0;zi[j];)
{
/*if(str[t] == zi[j])
{
t++;j++;
}
else
break;*/ // break!!!
if(str[t] != zi[j])
break; // break!!!
else
{
t++;j++;
}
}
if(zi[j]=='\0')
count++;
}
printf("%s %s %d
",str,zi,count);
}
child.c
//
#include"header.h"
void child(char str[]) // ???
{
puts(" ");
gets(str);
}