Bonjour, je dois écrire une fonction qui met une chaîne de caractère passée en argument en majuscule.
J'ai donc fait un calcul par rapport à la valeur ascii. Comme a -> 97 et A ->65, alors je fais - 32 à chaque fois. Mais ça ne fonctione pas.
voici la fonction
et le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 char *upcase(char *str) { int i; char *tp; i = 0; while (str[i] != '\0') { tp[i] = str[i] - 32; i++; } return (tp); }
erreur : segmentation fault
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int main() { char *p; char *a; a = "hello"; p = upcase(p); printf(p); }
Je ne vois pas trop où est le problème
Partager