関数に 3 つの文字列を渡します。文字列を調べて、3 つすべてに含まれる単語を見つける必要があります。文字列は、スペースや句読点のない単なる文字です。2 つの文字列を通過するコードを書きましたが、何らかの理由で機能しません。どんな助けでも大歓迎です。
char* najduljiPodniz(char* niz1, char* niz2, char* niz3)
{
int i,j,t1,br=0;
for(i=0;i<strlen(niz1);i++)
{
for(j=0;j<strlen(niz2);j++)
{
if(niz1[i]==niz2[j])
{
t1=i;
br++;
while(niz1[i]==niz2[j])
{
br++;
i++;
j++;
}
}
else break;
}
}
char *podniz=(char*)malloc(sizeof(char)*br+1);
for(i=0,j=t1;j<br;i++,j++)
podniz[i]=niz1[j];
for(i=0;i<br;i++)
printf("%s",podniz[i]);
return 0;
}
明確にするために: 文字列の例: "afsdmartiangknrhg". つまり、ランダムな文字と文字列のどこかに実際の単語があります。この例では「火星人」。他の 2 つの文字列には、"martian" という単語も含まれています。martian という単語は私には「不明」であるため、文字列内の実際の単語を確認することはできません。