oui, c´est "ma" faute : le prototype de la fonction de recherche doit être changé, car elle ne prend plus suite en paramètre, par contre il ne faut pas oublier de faire un "return suite" à la fin de la fonction (et il faut déclarer suite).
au final, ça donne :
- include <stdio.h>
- include <stdlib.h>
char* recherchecaractere(char mot[],char lettre);
int main(int argc, char *argv[])
{
char mot[]="salut",*suite,lettre=´a´;
suite = recherchecaractere(mot,lettre);
system("PAUSE");
return 0;
}
char* recherchecaractere(char mot[],char lettre)
{
long i,a;
char* suite;
for (i=0;mot[i]!=lettre && mot[i]!=´\0´;i++) //!!! Attention, c´est un ET ici et pas un OU.
{} //c´est pas très beau, mais ça marche, alors pourquoi pas ...
suite = &mot[i]; // je le mets là, pour que même si la chaine n´a pas été trouvée, suite pointe sur quelque chose, à savoir juste le caractère ´\0´ de la chaine.
if (mot[i]==lettre) // == pour tester l´égalité
{
printf("la lettre a ete trouvé %s\n",suite);
}
else
{
printf("la lettre est introuvable");
}
return suite;
} // et un dernier croché fermant.
J´ai dit que ce n´était pas très beau car faire une boucle vide comme ça c´est un peu étonnant (tu peut d´ailleurs remplacer les {} par juste un point virgule).