Te voy a dejar un ejemplo, que se podría mejorar.
Como ves en una función muy sencilla (te he puesto varias cosas con comentarios para que tu lo vayas rellenando (es muy sencillo):
Código C:
Ver original#include <stdio.h>
#include <string.h>
int buscar(char *cadena,char *subcadena){
int i=0,j=0,aux=0,salir=0;
while (!salir && cadena[i]!='\0')
{
aux=i;//Utilizamos un auxiliar para guardar el valor del índice a la primera cadena
while (/*No llegue al final de la cadena y el carácter de la posición i de la cadena sea igual al carácter de la posición j de la subcadena*/ )
{
//Aumento el índice de la subcadena
//Aumento el índice de la cadena
}
if (/*Si se ha llegado al final de la subcadena, quiere decir que ha coincido*/)
salir=1;
else
{
//Se reinicia el índice de la subcadena (empezar por el principio
//El índice de la cadena es el índice del valor auxiliar + 1
}
}
if (salir)
return aux;
else return -1;
}
int main(int argc, char **argv)
{
printf("Indice: %d",buscar
("Universidad de Antioquia","versidad")); return 0;
}