Obtiene la entrada especificada en el diccionario.
# include ltstdio.h gt
//Calcular longitud de cadena
int len(char a[])
{
int temp=0, yo;
for(I = 0; a[i]!='\0'; i)
temp ;
Temperatura de retorno;
}
//Obtiene el índice de la primera aparición de la subcadena en la cadena de origen.
int index (char a[], char b[])
{
int i, j, temp
for( I = 0; i ltlen(a)-len(b); i )
{
temp = I;
j = 0;
mientras(j lt;=len(b) y amp ampa[temp]==b[j])
{
temp;
j;
}
if(j==len(b))
Devolver I;
}
return-1; // Si se devuelve -1, no se encuentra la subcadena especificada; de lo contrario, se encuentra.
}
void main()
{
char a[]= " hola ";
a[len(a)]=""; // Mejora del algoritmo, agregue un elemento vacío al final de la matriz A, para que hola se pueda encontrar en hola.
printf("d\n",index(a,"llo"));
}
Datos extendidos:
Cosas a tener en cuenta
Archivo de encabezado: #include
Strchr() se usa para encontrar la primera aparición de un carácter en una cadena y su prototipo es:
char * strchr (const char *str, int c);
Parámetros: str es la cadena a buscar y c es el carácter a buscar.
Strchr() encontrará la dirección de la primera aparición del carácter C en la cadena str y luego devolverá la dirección.
Nota: El símbolo final NUL de la cadena str también se incluirá en el rango de búsqueda, por lo que también se puede ubicar el último carácter del grupo str.
Valor de retorno: si se encuentra el carácter especificado, se devuelve la dirección del carácter; de lo contrario, se devuelve NULL.
La dirección devuelta es la dirección aleatoria de la cadena en memoria más la posición del carácter a buscar en la cadena. Supongamos que la primera posición de aparición del carácter en la cadena es I, entonces la dirección devuelta puede entenderse como STR I.
Consejo: si desea encontrar la última aparición de un carácter en una cadena, puede utilizar ? strrchr()? Función.
Ejemplo: busque la primera aparición del carácter 5.
#¿Incluir? ltstdio.h gt
#¿Contiene? ltstdlib.h gt
#¿Incluir? ltstring.h gt
int? main(){
¿Carácter? *¿s? =?"0123456789012345678901234567890";
¿Carácter? *p;
p? =?strchr(s,'5');
printf("ld\n ", s);
printf("ld\n ",p);
Sistema("pausa");
¿Volver? 0;
}
Resultado de salida:
12016464
12016469