Hola, tengo el siguiente enunciado:
Construir una función que dada una frase y una palabra nos diga la posición de dicha palabra el la frase y sino devuelva un cero .
Lo que he hecho es el siguiente código pero no me funciona y no veo el fallo. me podeis ayudar? gracias
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int posicion(char*, char *);
int main(void)
{ char frase[80];
char palabra[8];
printf("Introduce una frase \n");
fflush(stdout);
fflush(stdin);
gets(frase);
printf("Introduce una palabra \n");
fflush(stdout);
fflush(stdin);
gets(frase);
printf("La posición es: %d",posicion(frase,palabra));
fflush(stdout);
return 0;
}
int posicion(char *frase, char *palabra)
{
int valor=0;
char *p;
p=strstr(frase,palabra);
if(p !=NULL)
{
valor=p-frase+1;
return valor;
}
else
{
return 0;
}
}