Program sprawdza czy pierwsze zdanie jest zawarte w drugim. I moje pierwsze pytanie to dlaczego funkcja printf dziwnie mi wyswietla napis a drugie to jak można zrobić żeby program brał pod uwagę to że zdania mogą być zupełnie różne i w żadną stronę nie będą się zawierały.
#include <stdio.h>
#include <string.h>
int main()
{ printf("Sprawdz czy pierwsze zdanie jest zawarte w drugim.\n");
char napis1[100];
char napis2[100];
fgets(napis1, sizeof(napis1), stdin);
fgets(napis2, sizeof(napis2), stdin);
char * wynik = strstr( napis2, napis1 );
if(wynik==napis2)
{
printf("Oba zdania sa identyczne ,a wiec sa zawarte w sobie.\n");
}
if(wynik!=NULL && wynik!=napis2)
{
printf("\"%s\" jest zawarte w \"%s\" ale odwrotnie juz nie.\n",wynik, napis1);
}
if(wynik==NULL)
{
printf("\"%s\" nie jest zawarte w \"%s\" ale odwrotnie juz tak\n",napis1,napis2);
}
return 0;
}