Esta pregunta requiere una simple función de la cadena de búsqueda.
interfaz de definición de función:
char * Buscar (S char *, char * T);
Subcadena función de búsqueda para encontrar la cadena s t, la dirección de retorno de la primera sub-cadena t en s. Si no lo encuentra, se devuelve NULL.
Ejemplos de procedimientos de prueba árbitros:
#include <stdio.h>
#define la MAXS 30
Buscar * char (S char *, char T);
desierta la ReadString (S char []); / ref proporcionado, los detalles no son la lista * /
int main ()
{
char s [Maxs], t [Maxs], * puesto;
ReadString(s);
ReadString(t);
pos = search(s, t);
if ( pos != NULL )
printf("%d\n", pos - s);
else
printf("-1\n");
return 0;
}
/ * El código será incorporado aquí * /
Ejemplo de entrada 1:
en el lenguaje de programación C
RAM
Ejemplo de Salida 1:
10
Ejemplo de entrada 2:
en el lenguaje de programación C
. Aburrido aquí
Muestra Producto 2:
-1
char *search( char *s, char *t )
{
int i, j, k;
char *p = NULL;
for (i = 0, j = 0; s[i] != '\0'; i++)
{
k = i; j = 0;
// 不可以直接用i
//初始化j, 保证t[j]每一次都是由第一个字母开始
while (t[j] == s[k])
{
j++; k++;
if (t[j] == '\0')
{
p = &s[i]; //也可以直接return (s + i)
return p;
}
}
}
return p;
}