Bonjour,

Je suis actuellement étudiant, et j'ai eu un cours sur les pointeurs. A la suite de ce cours j'ai eu droit à des exercices, dont un me demandant de retourner la valeur 1 si un caractère d'une chaine est en miniscule ou s'il n'y a pas de caractère et 0 sinon.

Jusque là pas de souci, le problème, c'est que je n'arrive pas à tester ma fonction que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int my_str_islower(*str)
{
  int inc;
  inc = 0;
  while (*str[inc] != '\0')
      {
         if ((*str > "97") && (*str < "123") || (*str == ""))
            return (1);
         else
            return (0);
      }
} 
 
int main()
{
  char *str;
  str[0] = '5';
  str[1] = '55';
  str[2] = '120';
  str[3] = '\0';
  my_str_islower(*str);
  return(0);
}
Et le résultat à chaque fois que je compile est segmentation fault. Je sais que cela viens des valeurs que je donne à mon pointeur, mais je ne comprends pas pourquoi... Quelqu'un pourrait-il m'expliquer (et m'aider par la même occasion)?