Bonjour,

Lorsque je retourne un char* vers une fonction qui va directement l'afficher sur le terminal je n'ai pas du tout cette chaîne de caractère mais quelque chose d'autre qui a rien à voir.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
char* fonction(char c[]){
   char tab[10];
  //je copie certains caractères de c dans tab (j'ai vérifié qu'il étaient bien dedans)
 
   return tab;
}
plus loin dans le main

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int main(){
  char w[]="ceci est un test";
printf("%s", fonction(w));
}
Et au lieu de m'afficher "ceci", ou "est un", bref n'importe qu'elle sous chaînes de w j'ai des caractère de fou "@○◘" (des caractères speciaux)


Le problème ne vient que du return tab
char* ça correspond a un tableau de char ou à un pointeur sur le premier char du tableau?

Mercide votre aide