Red de conocimiento informático - Conocimiento sistemático - Responder preguntas en lenguaje C

Responder preguntas en lenguaje C

Puede llamar a la biblioteca de funciones de cadenas a través del siguiente programa:

#include

int main()

{

char s[20]="abcdefghijklmn";

char *sub=" gh",p;

p=strstr(s,sub);

if(p)

{

retorno (p-s);

}

retorno 0;

}

También puedes escribir una función similar tú mismo. El programa es el siguiente:

#include

int strstr(char *. s1,char* s2)

{

char *p1=s1,*p2=s2;

mientras(*p1)

{

si(*p1== *p2)

{

mientras(*p1&&*p2)

{

if(*p1==*p2)

{/Igual y luego continúa la comparación

p1++;

p2++;

}

else

{// Si no es igual, regresa y continúa la comparación

p1=p1-(p2-s2 )+1;

p2=s2;

romper;

}

}

si(! *p2)

{//Comparación completa de subcadenas, igualdad exacta

Return 1;//Aquí también puedes devolver la posición de la subcadena en la cadena principal (p1-s1 +1)

}

}

p1++;

}

devuelve 0;//no contiene

}.

main()

{

char s1[100],s2[100];

printf("Ingrese 2 cadenas: \n");

scanf("%s",s1);

scanf("%s",s2);

if(strstr( s1,s2))

{

printf("s1 incluye s2!\n");

}

else

{

printf("s1 no incluye s2!\n");

}

}

if(strstr(s1,s2))

{

printf("s1 incluye s2!