prova così
i parametri della funzione li avevi messi invertiti, la funzione deve restituire un indice, cioè un numero. è più generale del tuo perché posso immettere stringhe più lunghe di 2 caratteri. se hai dubbi scrivi purecodice:#include <stdio.h> #include <conio.h> #include <string.h> int cerca(char s[],char t[]) { int i; int conta_car=0; int lungt=strlen(t); //trova la lunghezza di t int j=0; while(s[i]) { conta_car=i; while (s[i]==t[j]) //controlla carattere per carattere { i++; j++; } if (j==lungt) //controlla se c'è tutta la stringa e non solo i primi 2 caratteri return conta_car; else { i=conta_car; //devo azzerare sennò torna con un indice più avanti di quello che dovrebbe j=0; } i++; } return -1; } int main() { char s[30]; char t[15]; printf("digita stringa: "); gets(s); printf("digita parola da cerca: "); gets(t); int indice_cercato=cerca(s,t); //lo salvi in una variabile così dopo non devi richiamare la funzione 2 volta if(indice_cercato!=-1) { printf("parola trovata,all'indice: %d", indice_cercato); } getch(); }

Rispondi quotando