la salida es :
5
-1
-1
alguna idea ?
5
-1
-1
alguna idea ?
Código (c) [Seleccionar]
#include <stdio.h>
#include <string.h>
int findstr(char *cadena, char *subcadena, int pos_ini)
{
int i, j;
for(i=pos_ini; cadena[i]!='\0'; i++)
for(j=0; subcadena!='\0' && cadena[i+j]==subcadena[j]; j++)
if(subcadena[j+1]=='\0')
return i+1;
return -1;
}
int main()
{
char cadena[]="c a calar calar comer calar garbanzos";
char subcadena[]= "cala";
printf("%i\n", findstr(cadena, subcadena, 0));
strcpy(subcadena, "calar");
printf("%i\n", findstr(cadena, subcadena, 0));
printf("%i\n", findstr(cadena, subcadena, findstr(cadena, subcadena, 0)));
return 0;
}