Originariamente inviato da Samuele_70
La tua soluzione è eccessivamente 'complicata'
Prendi in considerazione questa versione semplificata:
codice:
char stra[30]="ciao il mio nome è Samuele";
char strb[30]="nome";
unsigned int j=0L;
bool findSubStr;
printf("\nstra = \"%s\"\n", stra);
printf("strb = \"%s\"\n\n", strb);
for(unsigned int i=0; i<strlen(stra)-1 && j<=strlen(strb)-1 ; i++)
{
if(stra[i]==strb[j])
{
j++;
findSubStr=true;
}
else
{
j=0L;
findSubStr=false;
}
}
if( findSubStr )
printf("E' contenuta\n");
else
printf("Non e' contenuta\n");
ciao! mi potete spiegare perché se metto
codice:
stra[i]!='\0' && strb[j]!='\0'
al posto di
codice:
i<strlen(stra)-1 && j<=strlen(strb)-1
nel for, se tento un input tipo ciao (prima parola) e oai (seconda parola) nel primo mio esempio non va e nell'altro si?